anchor.diff:          result.originalBuffer = bytes;
           return utf8.decode(bytes);
         });
  -    } else
  -      return data.transform(utf8.decoder).join();
  +    } else {
  +      return utf8.decoder.bind(data).join();
  +    }
     }
   
     try {
       if (contentType != null) {
         if (contentType.type == 'multipart' &&
             contentType.parameters.containsKey('boundary')) {
  -        Stream<List<int>> stream;
  +        Stream<Uint8List> stream;
   
           if (storeOriginalBuffer) {
             var bytes = result.originalBuffer = await getBytes();
  -          var ctrl = new StreamController<List<int>>()
  +          var ctrl = new StreamController<Uint8List>()
               ..add(bytes)
               ..close();
             stream = ctrl.stream;
  
positive.code: import 'dart:async';
  import 'dart:io';
  
  import 'package:dart2_constant/convert.dart';
  import 'package:http_parser/http_parser.dart';
  
negative.code: ///
  /// Use [storeOriginalBuffer] to add  the original request bytes to the result.
  Future<BodyParseResult> parseBodyFromStream(
      Stream<Uint8List> data, MediaType contentType, Uri requestUri,
      {bool storeOriginalBuffer: false}) async {
    var result = new _BodyParseResultImpl();
  
    Future<Uint8List> getBytes() {
      return data
          .fold<BytesBuilder>(new BytesBuilder(copy: false), (a, b) => a..add(b))
          .then((b) => b.takeBytes());
  