| 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 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:math'; | 6 import 'dart:math'; |
| 7 import 'dart:scalarlist'; | 7 import 'dart:scalarlist'; |
| 8 import 'dart:isolate'; | 8 import 'dart:isolate'; |
| 9 import 'dart:uri'; | 9 import 'dart:uri'; |
| 10 | 10 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 for (int pos = 0; pos < requestData.length; pos += chunkSize) { | 118 for (int pos = 0; pos < requestData.length; pos += chunkSize) { |
| 119 int remaining = requestData.length - pos; | 119 int remaining = requestData.length - pos; |
| 120 int writeLength = min(chunkSize, remaining); | 120 int writeLength = min(chunkSize, remaining); |
| 121 controller.add(requestData.getRange(pos, writeLength)); | 121 controller.add(requestData.getRange(pos, writeLength)); |
| 122 } | 122 } |
| 123 controller.close(); | 123 controller.close(); |
| 124 } | 124 } |
| 125 | 125 |
| 126 // Test parsing the request three times delivering the data in | 126 // Test parsing the request three times delivering the data in |
| 127 // different chunks. | 127 // different chunks. |
| 128 List<int> requestData = request.charCodes; | 128 List<int> requestData = request.codeUnits; |
| 129 testWrite(requestData); | 129 testWrite(requestData); |
| 130 testWrite(requestData, 10); | 130 testWrite(requestData, 10); |
| 131 testWrite(requestData, 1); | 131 testWrite(requestData, 1); |
| 132 } | 132 } |
| 133 | 133 |
| 134 static void _testParseInvalidRequest(String request) { | 134 static void _testParseInvalidRequest(String request) { |
| 135 _HttpParser httpParser; | 135 _HttpParser httpParser; |
| 136 bool errorCalled; | 136 bool errorCalled; |
| 137 StreamController controller; | 137 StreamController controller; |
| 138 | 138 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 162 pos += chunkSize) { | 162 pos += chunkSize) { |
| 163 int remaining = requestData.length - pos; | 163 int remaining = requestData.length - pos; |
| 164 int writeLength = min(chunkSize, remaining); | 164 int writeLength = min(chunkSize, remaining); |
| 165 controller.add(requestData.getRange(pos, writeLength)); | 165 controller.add(requestData.getRange(pos, writeLength)); |
| 166 } | 166 } |
| 167 controller.close(); | 167 controller.close(); |
| 168 } | 168 } |
| 169 | 169 |
| 170 // Test parsing the request three times delivering the data in | 170 // Test parsing the request three times delivering the data in |
| 171 // different chunks. | 171 // different chunks. |
| 172 List<int> requestData = request.charCodes; | 172 List<int> requestData = request.codeUnits; |
| 173 testWrite(requestData); | 173 testWrite(requestData); |
| 174 testWrite(requestData, 10); | 174 testWrite(requestData, 10); |
| 175 testWrite(requestData, 1); | 175 testWrite(requestData, 1); |
| 176 } | 176 } |
| 177 | 177 |
| 178 static void _testParseResponse(String response, | 178 static void _testParseResponse(String response, |
| 179 int expectedStatusCode, | 179 int expectedStatusCode, |
| 180 String expectedReasonPhrase, | 180 String expectedReasonPhrase, |
| 181 {int expectedTransferLength: 0, | 181 {int expectedTransferLength: 0, |
| 182 int expectedBytesReceived: 0, | 182 int expectedBytesReceived: 0, |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 int remaining = requestData.length - pos; | 263 int remaining = requestData.length - pos; |
| 264 int writeLength = min(chunkSize, remaining); | 264 int writeLength = min(chunkSize, remaining); |
| 265 controller.add(requestData.getRange(pos, writeLength)); | 265 controller.add(requestData.getRange(pos, writeLength)); |
| 266 | 266 |
| 267 } | 267 } |
| 268 if (close) controller.close(); | 268 if (close) controller.close(); |
| 269 } | 269 } |
| 270 | 270 |
| 271 // Test parsing the request three times delivering the data in | 271 // Test parsing the request three times delivering the data in |
| 272 // different chunks. | 272 // different chunks. |
| 273 List<int> responseData = response.charCodes; | 273 List<int> responseData = response.codeUnits; |
| 274 testWrite(responseData); | 274 testWrite(responseData); |
| 275 testWrite(responseData, 10); | 275 testWrite(responseData, 10); |
| 276 testWrite(responseData, 1); | 276 testWrite(responseData, 1); |
| 277 } | 277 } |
| 278 | 278 |
| 279 static void _testParseInvalidResponse(String response, [bool close = false]) { | 279 static void _testParseInvalidResponse(String response, [bool close = false]) { |
| 280 _HttpParser httpParser; | 280 _HttpParser httpParser; |
| 281 bool errorCalled; | 281 bool errorCalled; |
| 282 StreamController controller; | 282 StreamController controller; |
| 283 | 283 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 313 pos += chunkSize) { | 313 pos += chunkSize) { |
| 314 int remaining = requestData.length - pos; | 314 int remaining = requestData.length - pos; |
| 315 int writeLength = min(chunkSize, remaining); | 315 int writeLength = min(chunkSize, remaining); |
| 316 controller.add(requestData.getRange(pos, writeLength)); | 316 controller.add(requestData.getRange(pos, writeLength)); |
| 317 } | 317 } |
| 318 controller.close(); | 318 controller.close(); |
| 319 } | 319 } |
| 320 | 320 |
| 321 // Test parsing the request three times delivering the data in | 321 // Test parsing the request three times delivering the data in |
| 322 // different chunks. | 322 // different chunks. |
| 323 List<int> responseData = response.charCodes; | 323 List<int> responseData = response.codeUnits; |
| 324 testWrite(responseData); | 324 testWrite(responseData); |
| 325 testWrite(responseData, 10); | 325 testWrite(responseData, 10); |
| 326 testWrite(responseData, 1); | 326 testWrite(responseData, 1); |
| 327 } | 327 } |
| 328 | 328 |
| 329 static void testParseRequest() { | 329 static void testParseRequest() { |
| 330 String request; | 330 String request; |
| 331 Map headers; | 331 Map headers; |
| 332 var methods = [ | 332 var methods = [ |
| 333 // RFC 2616 methods. | 333 // RFC 2616 methods. |
| (...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 874 0123456789012345678901234567890\r | 874 0123456789012345678901234567890\r |
| 875 0\r\n\r\n"""; | 875 0\r\n\r\n"""; |
| 876 _testParseInvalidResponse(response); | 876 _testParseInvalidResponse(response); |
| 877 } | 877 } |
| 878 } | 878 } |
| 879 | 879 |
| 880 | 880 |
| 881 void main() { | 881 void main() { |
| 882 HttpParserTest.runAllTests(); | 882 HttpParserTest.runAllTests(); |
| 883 } | 883 } |
| OLD | NEW |