Index: sdk/lib/io/http_impl.dart |
diff --git a/sdk/lib/io/http_impl.dart b/sdk/lib/io/http_impl.dart |
index 756db6020b7b1bcf3212599c8a4469c9eeed9bd3..4c6e74b862dcc67a34a825c5389fa0fbe972a65c 100644 |
--- a/sdk/lib/io/http_impl.dart |
+++ b/sdk/lib/io/http_impl.dart |
@@ -586,7 +586,8 @@ class _HttpOutboundConsumer implements StreamConsumer { |
} |
bool _ignoreError(error) |
- => error is SocketException && _outbound is HttpResponse; |
+ => (error is SocketException || error is TlsException) && |
+ _outbound is HttpResponse; |
_ensureController() { |
if (_controller != null) return; |
@@ -2055,7 +2056,13 @@ class _HttpServer extends Stream<HttpRequest> implements HttpServer { |
_HttpConnection connection = new _HttpConnection(socket, this); |
_connections.add(connection); |
}, |
- onError: _controller.addError, |
+ onError: (error) { |
+ // Ignore HandshakeExceptions as they are bound to a single request, |
+ // and are not fatal for the server. |
+ if (error is! HandshakeException) { |
+ _controller.addError(error); |
+ } |
+ }, |
onDone: _controller.close); |
return _controller.stream.listen(onData, |
onError: onError, |