| Index: pkg/http/lib/src/utils.dart
 | 
| diff --git a/pkg/http/lib/src/utils.dart b/pkg/http/lib/src/utils.dart
 | 
| index 4a3b84c0614ea6e71cc0d32c10dcc67570c46bef..7be3938116c20a2795895fbc2c214cc4efe2405b 100644
 | 
| --- a/pkg/http/lib/src/utils.dart
 | 
| +++ b/pkg/http/lib/src/utils.dart
 | 
| @@ -173,7 +173,7 @@ Stream get emptyStream => streamFromIterable([]);
 | 
|  /// Creates a single-subscription stream that emits the items in [iter] and then
 | 
|  /// ends.
 | 
|  Stream streamFromIterable(Iterable iter) {
 | 
| -  var controller = new StreamController();
 | 
| +  var controller = new StreamController(sync: true);
 | 
|    iter.forEach(controller.add);
 | 
|    controller.close();
 | 
|    return controller.stream;
 | 
| @@ -184,8 +184,8 @@ Stream streamFromIterable(Iterable iter) {
 | 
|  /// errors from [stream]. This is useful if [stream] is single-subscription but
 | 
|  /// multiple subscribers are necessary.
 | 
|  Pair<Stream, Stream> tee(Stream stream) {
 | 
| -  var controller1 = new StreamController();
 | 
| -  var controller2 = new StreamController();
 | 
| +  var controller1 = new StreamController(sync: true);
 | 
| +  var controller2 = new StreamController(sync: true);
 | 
|    stream.listen((value) {
 | 
|      controller1.add(value);
 | 
|      controller2.add(value);
 | 
| 
 |