| 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 // Global constants. | 7 // Global constants. |
| 8 class _Const { | 8 class _Const { |
| 9 // Bytes for "HTTP". | 9 // Bytes for "HTTP". |
| 10 static const HTTP = const [72, 84, 84, 80]; | 10 static const HTTP = const [72, 84, 84, 80]; |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 | 159 |
| 160 void onPauseStateChange() { | 160 void onPauseStateChange() { |
| 161 if (controller.isPaused) { | 161 if (controller.isPaused) { |
| 162 pause(); | 162 pause(); |
| 163 } else { | 163 } else { |
| 164 resume(); | 164 resume(); |
| 165 } | 165 } |
| 166 } | 166 } |
| 167 | 167 |
| 168 void onSubscriptionStateChange() { | 168 void onSubscriptionStateChange() { |
| 169 if (controller.hasSubscribers) { | 169 if (controller.hasListener) { |
| 170 resume(); | 170 resume(); |
| 171 } else { | 171 } else { |
| 172 subscription.cancel(); | 172 subscription.cancel(); |
| 173 } | 173 } |
| 174 } | 174 } |
| 175 } | 175 } |
| 176 | 176 |
| 177 | 177 |
| 178 /** | 178 /** |
| 179 * HTTP parser which parses the data stream given to [consume]. | 179 * HTTP parser which parses the data stream given to [consume]. |
| (...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 905 void _continueParsing() { | 905 void _continueParsing() { |
| 906 _paused = false; | 906 _paused = false; |
| 907 if (!_parserCalled && _buffer != null) _parse(); | 907 if (!_parserCalled && _buffer != null) _parse(); |
| 908 } | 908 } |
| 909 | 909 |
| 910 void _pauseParsing() { | 910 void _pauseParsing() { |
| 911 _paused = true; | 911 _paused = true; |
| 912 } | 912 } |
| 913 | 913 |
| 914 void _bodySubscriptionStateChange() { | 914 void _bodySubscriptionStateChange() { |
| 915 if (_incoming != null && !_bodyController.hasSubscribers) { | 915 if (_incoming != null && !_bodyController.hasListener) { |
| 916 _closeIncoming(); | 916 _closeIncoming(); |
| 917 } else { | 917 } else { |
| 918 _updateParsePauseState(); | 918 _updateParsePauseState(); |
| 919 } | 919 } |
| 920 } | 920 } |
| 921 | 921 |
| 922 void _updateParsePauseState() { | 922 void _updateParsePauseState() { |
| 923 if (_bodyController != null) { | 923 if (_bodyController != null) { |
| 924 if (_bodyController.hasSubscribers && !_bodyController.isPaused) { | 924 if (_bodyController.hasListener && !_bodyController.isPaused) { |
| 925 _continueParsing(); | 925 _continueParsing(); |
| 926 } else { | 926 } else { |
| 927 _pauseParsing(); | 927 _pauseParsing(); |
| 928 } | 928 } |
| 929 } else { | 929 } else { |
| 930 if (_controller.hasSubscribers && !_controller.isPaused) { | 930 if (_controller.hasListener && !_controller.isPaused) { |
| 931 _continueParsing(); | 931 _continueParsing(); |
| 932 } else { | 932 } else { |
| 933 _pauseParsing(); | 933 _pauseParsing(); |
| 934 } | 934 } |
| 935 } | 935 } |
| 936 } | 936 } |
| 937 | 937 |
| 938 void error(error) { | 938 void error(error) { |
| 939 if (_socketSubscription != null) _socketSubscription.cancel(); | 939 if (_socketSubscription != null) _socketSubscription.cancel(); |
| 940 _state = _State.FAILURE; | 940 _state = _State.FAILURE; |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 979 StreamController<_HttpIncoming> _controller; | 979 StreamController<_HttpIncoming> _controller; |
| 980 StreamController<List<int>> _bodyController; | 980 StreamController<List<int>> _bodyController; |
| 981 } | 981 } |
| 982 | 982 |
| 983 | 983 |
| 984 class HttpParserException implements Exception { | 984 class HttpParserException implements Exception { |
| 985 const HttpParserException([String this.message = ""]); | 985 const HttpParserException([String this.message = ""]); |
| 986 String toString() => "HttpParserException: $message"; | 986 String toString() => "HttpParserException: $message"; |
| 987 final String message; | 987 final String message; |
| 988 } | 988 } |
| OLD | NEW |