| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart.io; | 5 part of dart.io; |
| 6 | 6 |
| 7 const int _OUTGOING_BUFFER_SIZE = 8 * 1024; | 7 const int _OUTGOING_BUFFER_SIZE = 8 * 1024; |
| 8 | 8 |
| 9 class _HttpIncoming extends Stream<List<int>> { | 9 class _HttpIncoming extends Stream<List<int>> { |
| 10 final int _transferLength; | 10 final int _transferLength; |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 void onDone(), | 263 void onDone(), |
| 264 bool cancelOnError}) { | 264 bool cancelOnError}) { |
| 265 if (_incoming.upgraded) { | 265 if (_incoming.upgraded) { |
| 266 // If upgraded, the connection is already 'removed' form the client. | 266 // If upgraded, the connection is already 'removed' form the client. |
| 267 // Since listening to upgraded data is 'bogus', simply close and | 267 // Since listening to upgraded data is 'bogus', simply close and |
| 268 // return empty stream subscription. | 268 // return empty stream subscription. |
| 269 _httpRequest._httpClientConnection.destroy(); | 269 _httpRequest._httpClientConnection.destroy(); |
| 270 return new Stream.fromIterable([]).listen(null, onDone: onDone); | 270 return new Stream.fromIterable([]).listen(null, onDone: onDone); |
| 271 } | 271 } |
| 272 var stream = _incoming; | 272 var stream = _incoming; |
| 273 if (headers.value(HttpHeaders.CONTENT_ENCODING) == "gzip") { | 273 if (_httpClient.autoUncompress && |
| 274 headers.value(HttpHeaders.CONTENT_ENCODING) == "gzip") { |
| 274 stream = stream.transform(GZIP.decoder); | 275 stream = stream.transform(GZIP.decoder); |
| 275 } | 276 } |
| 276 return stream.listen(onData, | 277 return stream.listen(onData, |
| 277 onError: onError, | 278 onError: onError, |
| 278 onDone: onDone, | 279 onDone: onDone, |
| 279 cancelOnError: cancelOnError); | 280 cancelOnError: cancelOnError); |
| 280 } | 281 } |
| 281 | 282 |
| 282 Future<Socket> detachSocket() { | 283 Future<Socket> detachSocket() { |
| 283 _httpClient._connectionClosed(_httpRequest._httpClientConnection); | 284 _httpClient._connectionClosed(_httpRequest._httpClientConnection); |
| (...skipping 1359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1643 Function _findProxy = HttpClient.findProxyFromEnvironment; | 1644 Function _findProxy = HttpClient.findProxyFromEnvironment; |
| 1644 Duration _idleTimeout = const Duration(seconds: 15); | 1645 Duration _idleTimeout = const Duration(seconds: 15); |
| 1645 Function _badCertificateCallback; | 1646 Function _badCertificateCallback; |
| 1646 | 1647 |
| 1647 Timer _noActiveTimer; | 1648 Timer _noActiveTimer; |
| 1648 | 1649 |
| 1649 Duration get idleTimeout => _idleTimeout; | 1650 Duration get idleTimeout => _idleTimeout; |
| 1650 | 1651 |
| 1651 int maxConnectionsPerHost; | 1652 int maxConnectionsPerHost; |
| 1652 | 1653 |
| 1654 bool autoUncompress = true; |
| 1655 |
| 1653 String userAgent = _getHttpVersion(); | 1656 String userAgent = _getHttpVersion(); |
| 1654 | 1657 |
| 1655 void set idleTimeout(Duration timeout) { | 1658 void set idleTimeout(Duration timeout) { |
| 1656 _idleTimeout = timeout; | 1659 _idleTimeout = timeout; |
| 1657 for (var c in _connectionTargets.values) { | 1660 for (var c in _connectionTargets.values) { |
| 1658 for (var idle in c.idle) { | 1661 for (var idle in c.idle) { |
| 1659 // Reset timer. This is fine, as it's not happening often. | 1662 // Reset timer. This is fine, as it's not happening often. |
| 1660 idle.stopTimer(); | 1663 idle.stopTimer(); |
| 1661 idle.startTimer(); | 1664 idle.startTimer(); |
| 1662 } | 1665 } |
| (...skipping 1135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2798 const _RedirectInfo(this.statusCode, this.method, this.location); | 2801 const _RedirectInfo(this.statusCode, this.method, this.location); |
| 2799 } | 2802 } |
| 2800 | 2803 |
| 2801 String _getHttpVersion() { | 2804 String _getHttpVersion() { |
| 2802 var version = Platform.version; | 2805 var version = Platform.version; |
| 2803 // Only include major and minor version numbers. | 2806 // Only include major and minor version numbers. |
| 2804 int index = version.indexOf('.', version.indexOf('.') + 1); | 2807 int index = version.indexOf('.', version.indexOf('.') + 1); |
| 2805 version = version.substring(0, index); | 2808 version = version.substring(0, index); |
| 2806 return 'Dart/$version (dart:io)'; | 2809 return 'Dart/$version (dart:io)'; |
| 2807 } | 2810 } |
| OLD | NEW |