Index: sdk/lib/io/http_parser.dart |
diff --git a/sdk/lib/io/http_parser.dart b/sdk/lib/io/http_parser.dart |
index aada781add0bb1c460d7c8ff734537147326f21a..e2e046b04e4adfa90a6b983f990203ed3339f88a 100644 |
--- a/sdk/lib/io/http_parser.dart |
+++ b/sdk/lib/io/http_parser.dart |
@@ -21,6 +21,30 @@ class _Const { |
static const SEPARATORS = const [40, 41, 60, 62, 64, 44, 59, 58, 92, 34, 47, |
Søren Gjesse
2013/11/21 13:03:03
Is SEPARATORS still used?
Anders Johnsen
2013/11/21 13:14:41
Done.
|
91, 93, 63, 61, 123, 125, 32, 9]; |
+ // Loopup-map for _isTokenChar. |
Søren Gjesse
2013/11/21 13:03:03
Add the character-list from above to the comment.
Anders Johnsen
2013/11/21 13:14:41
Done.
|
+ static const CHAR_MAP = const [ |
Søren Gjesse
2013/11/21 13:03:03
CHAR_MAP -> TOKEN_CHAR_MAP
Anders Johnsen
2013/11/21 13:14:41
Done.
|
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,true,false,true, |
+ true,true,true,true,false,false,true,true,false,true,true,false,true,true, |
+ true,true,true,true,true,true,true,true,false,false,false,false,false, |
+ false,false,true,true,true,true,true,true,true,true,true,true,true,true, |
+ true,true,true,true,true,true,true,true,true,true,true,true,true,true, |
+ false,false,false,true,true,true,true,true,true,true,true,true,true,true, |
+ true,true,true,true,true,true,true,true,true,true,true,true,true,true, |
+ true,true,true,true,false,true,false,true,true,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false,false,false,false,false,false,false,false,false, |
+ false,false,false,false]; |
+ |
// Bytes for '()<>@,;:\\"/[]?={} \t\r\n'. |
static const SEPARATORS_AND_CR_LF = const [40, 41, 60, 62, 64, 44, 59, 58, 92, |
34, 47, 91, 93, 63, 61, 123, 125, |
@@ -835,9 +859,7 @@ class _HttpParser |
_index = null; |
} |
- bool _isTokenChar(int byte) { |
- return byte > 31 && byte < 128 && _Const.SEPARATORS.indexOf(byte) == -1; |
- } |
+ bool _isTokenChar(int byte) => _Const.CHAR_MAP[byte]; |
List<String> _tokenizeFieldValue(String headerValue) { |
List<String> tokens = new List<String>(); |