| Index: sdk/lib/_internal/pub/lib/src/safe_http_server.dart
|
| diff --git a/sdk/lib/_internal/pub/lib/src/safe_http_server.dart b/sdk/lib/_internal/pub/lib/src/safe_http_server.dart
|
| index 63b7705a75c5f635cb7f4d08d81ab2cf5458e56c..35fffe404e21f761cda71f23ccbdae99e9e3b459 100644
|
| --- a/sdk/lib/_internal/pub/lib/src/safe_http_server.dart
|
| +++ b/sdk/lib/_internal/pub/lib/src/safe_http_server.dart
|
| @@ -52,12 +52,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]) {
|
| // 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.
|
| @@ -67,7 +67,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;
|
| }
|
|
|