Index: sdk/lib/io/websocket_impl.dart |
diff --git a/sdk/lib/io/websocket_impl.dart b/sdk/lib/io/websocket_impl.dart |
index e2bc326271ba9fb338eb71ca11b222b1a2266484..4162ca1f0f2745db4b395e75a2246528049feb5c 100644 |
--- a/sdk/lib/io/websocket_impl.dart |
+++ b/sdk/lib/io/websocket_impl.dart |
@@ -99,9 +99,7 @@ class _WebSocketProtocolTransformer extends StreamEventTransformer { |
.fold(new StringBuffer(), (buffer, str) => buffer..write(str)) |
.then((buffer) { |
sink.add(buffer.toString()); |
- }, onError: (error) { |
- sink.addError(error); |
- }); |
+ }, onError: sink.addError); |
break; |
case _WebSocketOpcode.BINARY: |
@@ -114,9 +112,7 @@ class _WebSocketProtocolTransformer extends StreamEventTransformer { |
.fold(new BytesBuilder(), (buffer, data) => buffer..add(data)) |
.then((buffer) { |
sink.add(buffer.takeBytes()); |
- }, onError: (error) { |
- sink.addError(error); |
- }); |
+ }, onError: sink.addError); |
break; |
case _WebSocketOpcode.CLOSE: |
@@ -382,7 +378,7 @@ class _WebSocketTransformerImpl implements WebSocketTransformer { |
stream.listen((request) { |
_upgrade(request) |
.then((WebSocket webSocket) => _controller.add(webSocket)) |
- .catchError((error) => _controller.addError(error)); |
+ .catchError(_controller.addError); |
}); |
return _controller.stream; |
@@ -620,12 +616,12 @@ class _WebSocketConsumer implements StreamConsumer { |
.then((_) { |
_done(); |
_closeCompleter.complete(webSocket); |
- }, onError: (error) { |
+ }, onError: (error, StackTrace stackTrace) { |
_closed = true; |
_cancel(); |
if (error is ArgumentError) { |
- if (!_done(error)) { |
- _closeCompleter.completeError(error); |
+ if (!_done(error, stackTrace)) { |
+ _closeCompleter.completeError(error, stackTrace); |
} |
} else { |
_done(); |
@@ -634,10 +630,10 @@ class _WebSocketConsumer implements StreamConsumer { |
}); |
} |
- bool _done([error]) { |
+ bool _done([error, StackTrace stackTrace]) { |
if (_completer == null) return false; |
if (error != null) { |
- _completer.completeError(error); |
+ _completer.completeError(error, stackTrace); |
} else { |
_completer.complete(webSocket); |
} |
@@ -656,12 +652,8 @@ class _WebSocketConsumer implements StreamConsumer { |
(data) { |
_controller.add(data); |
}, |
- onDone: () { |
- _done(); |
- }, |
- onError: (error) { |
- _done(error); |
- }, |
+ onDone: _done, |
+ onError: _done, |
cancelOnError: true); |
if (_issuedPause) { |
_subscription.pause(); |
@@ -832,7 +824,7 @@ class _WebSocketImpl extends Stream implements WebSocket { |
} |
StreamSubscription listen(void onData(message), |
- {void onError(error), |
+ {Function onError, |
void onDone(), |
bool cancelOnError}) { |
return _controller.stream.listen(onData, |