| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 /// A library for broadly-useful functions and regular expressions for scanning | 5 /// A library for broadly-useful functions and regular expressions for scanning |
| 6 /// HTTP entities. | 6 /// HTTP entities. |
| 7 /// | 7 /// |
| 8 /// Many of the regular expressions come from [section 2.2 of the HTTP | 8 /// Many of the regular expressions come from [section 2.2 of the HTTP |
| 9 /// spec][spec]. | 9 /// spec][spec]. |
| 10 /// | 10 /// |
| 11 /// [spec]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html | 11 /// [spec]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html |
| 12 library http_parser.scan; | |
| 13 | |
| 14 import 'package:string_scanner/string_scanner.dart'; | 12 import 'package:string_scanner/string_scanner.dart'; |
| 15 | 13 |
| 16 /// An HTTP token. | 14 /// An HTTP token. |
| 17 final token = new RegExp(r'[^()<>@,;:"\\/[\]?={} \t\x00-\x1F\x7F]+'); | 15 final token = new RegExp(r'[^()<>@,;:"\\/[\]?={} \t\x00-\x1F\x7F]+'); |
| 18 | 16 |
| 19 /// Linear whitespace. | 17 /// Linear whitespace. |
| 20 final _lws = new RegExp(r"(?:\r\n)?[ \t]+"); | 18 final _lws = new RegExp(r"(?:\r\n)?[ \t]+"); |
| 21 | 19 |
| 22 /// A quoted string. | 20 /// A quoted string. |
| 23 final _quotedString = new RegExp(r'"(?:[^"\x00-\x1F\x7F]|\\.)*"'); | 21 final _quotedString = new RegExp(r'"(?:[^"\x00-\x1F\x7F]|\\.)*"'); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 /// If [name] is passed, it's used to describe the expected value if it's not | 66 /// If [name] is passed, it's used to describe the expected value if it's not |
| 69 /// found. | 67 /// found. |
| 70 String expectQuotedString(StringScanner scanner, {String name}) { | 68 String expectQuotedString(StringScanner scanner, {String name}) { |
| 71 if (name == null) name = "quoted string"; | 69 if (name == null) name = "quoted string"; |
| 72 scanner.expect(_quotedString, name: name); | 70 scanner.expect(_quotedString, name: name); |
| 73 var string = scanner.lastMatch[0]; | 71 var string = scanner.lastMatch[0]; |
| 74 return string | 72 return string |
| 75 .substring(1, string.length - 1) | 73 .substring(1, string.length - 1) |
| 76 .replaceAllMapped(_quotedPair, (match) => match[1]); | 74 .replaceAllMapped(_quotedPair, (match) => match[1]); |
| 77 } | 75 } |
| OLD | NEW |