| Index: pkg/http/test/safe_http_server.dart
|
| diff --git a/pkg/http/test/safe_http_server.dart b/pkg/http/test/safe_http_server.dart
|
| index e55834c167c17af2471c50152e0900de8ef1ee64..8ce094f4b603bde9d539bb962e4ac5a17455db43 100644
|
| --- a/pkg/http/test/safe_http_server.dart
|
| +++ b/pkg/http/test/safe_http_server.dart
|
| @@ -41,12 +41,12 @@ class SafeHttpServer extends StreamView<HttpRequest> implements HttpServer {
|
| HttpConnectionsInfo connectionsInfo() => _inner.connectionsInfo();
|
|
|
| StreamSubscription<HttpRequest> listen(void onData(HttpRequest value),
|
| - {void onError(error), void onDone(),
|
| + {Function onError, void onDone(),
|
| bool cancelOnError: false}) {
|
| var subscription;
|
| subscription = super.listen((request) {
|
| onData(new _HttpRequestWrapper(request));
|
| - }, onError: (error) {
|
| + }, onError: (error, StackTrace stackTrace) {
|
| // Ignore socket error 104, which is caused by a request being cancelled
|
| // before it writes any headers. There's no reason to care about such
|
| // requests.
|
| @@ -56,7 +56,13 @@ class SafeHttpServer extends StreamView<HttpRequest> implements HttpServer {
|
| // Manually handle cancelOnError so the above (ignored) errors don't
|
| // cause unsubscription.
|
| if (cancelOnError) subscription.cancel();
|
| - if (onError != null) onError(error);
|
| + if (onError != null) {
|
| + if (onError is ZoneBinaryCallback) {
|
| + onError(error, stackTrace);
|
| + } else {
|
| + onError(error);
|
| + }
|
| + }
|
| }, onDone: onDone);
|
| return subscription;
|
| }
|
|
|