Chromium Code Reviews| 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) { |
|
Søren Gjesse
2013/12/11 13:14:01
We could consider whether the SecureServerSocket s
Anders Johnsen
2013/12/12 10:36:30
The general approach we've had so far is that the
|
| + // 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, |