Fix bug in `readAsBytes` via http when content-length is set. (#24)

The `readAsBytes` method returns twice as much data as expected,
with the first half all zeroes. This comes from pre-allocating
the buffer, then appending to it (similar to issue 21, but with
`readAsBytes` instead of `readAsString`).

Updated the tests to also catch this case.

BUG: https://github.com/dart-lang/resource/issues/23
2 files changed
tree: ecc0f7413e2889d3a795ea982eb73a989cf1811c
  1. lib/
  2. test/
  3. tool/
  4. .gitignore
  5. .test_config
  6. .travis.yml
  7. AUTHORS
  8. CHANGELOG.md
  9. codereview.settings
  10. CONTRIBUTING.md
  11. LICENSE
  12. pubspec.yaml
  13. README.md
README.md

Resource

Reading data from package contents and files.

A resource is data that can be read into a Dart program at runtime. A resource is identified by a URI. It can be loaded as bytes or data. The resource URI may be a package: URI.

Example:

import 'package:resource/resource.dart' show Resource;
import 'dart:convert' show UTF8;

main() async {
  var resource = new Resource("package:foo/foo_data.txt");
  var string = await resource.readAsString(encoding: UTF8);
  print(string);
}

Learning more

Please check out the API docs.

Features and bugs

Please file feature requests and bugs at the issue tracker.