Index: sdk/lib/io/http_headers.dart |
diff --git a/sdk/lib/io/http_headers.dart b/sdk/lib/io/http_headers.dart |
index 9197feeb26d1054c734182ca964d9d3f72c29add..3ddb4a03fb2c3189bdb3fd1306db3a447f208083 100644 |
--- a/sdk/lib/io/http_headers.dart |
+++ b/sdk/lib/io/http_headers.dart |
@@ -25,12 +25,13 @@ class _HttpHeaders implements HttpHeaders { |
void add(String name, value) { |
_checkMutable(); |
+ var lowerCaseName = name.toLowerCase(); |
if (value is List) { |
for (int i = 0; i < value.length; i++) { |
- _add(name, value[i]); |
+ _add(lowerCaseName, value[i]); |
} |
} else { |
- _add(name, value); |
+ _add(lowerCaseName, value); |
} |
} |
@@ -207,10 +208,10 @@ class _HttpHeaders implements HttpHeaders { |
_set(HttpHeaders.CONTENT_TYPE, contentType.toString()); |
} |
+ // [name] must be a lower-case version of the name. |
void _add(String name, value) { |
- var lowerCaseName = name.toLowerCase(); |
// TODO(sgjesse): Add immutable state throw HttpException is immutable. |
- if (lowerCaseName == HttpHeaders.CONTENT_LENGTH) { |
+ if (name == HttpHeaders.CONTENT_LENGTH) { |
if (value is int) { |
contentLength = value; |
} else if (value is String) { |
@@ -218,13 +219,13 @@ class _HttpHeaders implements HttpHeaders { |
} else { |
throw new HttpException("Unexpected type for header named $name"); |
} |
- } else if (lowerCaseName == HttpHeaders.TRANSFER_ENCODING) { |
+ } else if (name == HttpHeaders.TRANSFER_ENCODING) { |
if (value == "chunked") { |
chunkedTransferEncoding = true; |
} else { |
- _addValue(lowerCaseName, value); |
+ _addValue(name, value); |
} |
- } else if (lowerCaseName == HttpHeaders.DATE) { |
+ } else if (name == HttpHeaders.DATE) { |
if (value is DateTime) { |
date = value; |
} else if (value is String) { |
@@ -232,7 +233,7 @@ class _HttpHeaders implements HttpHeaders { |
} else { |
throw new HttpException("Unexpected type for header named $name"); |
} |
- } else if (lowerCaseName == HttpHeaders.EXPIRES) { |
+ } else if (name == HttpHeaders.EXPIRES) { |
if (value is DateTime) { |
expires = value; |
} else if (value is String) { |
@@ -240,7 +241,7 @@ class _HttpHeaders implements HttpHeaders { |
} else { |
throw new HttpException("Unexpected type for header named $name"); |
} |
- } else if (lowerCaseName == HttpHeaders.IF_MODIFIED_SINCE) { |
+ } else if (name == HttpHeaders.IF_MODIFIED_SINCE) { |
if (value is DateTime) { |
ifModifiedSince = value; |
} else if (value is String) { |
@@ -248,7 +249,7 @@ class _HttpHeaders implements HttpHeaders { |
} else { |
throw new HttpException("Unexpected type for header named $name"); |
} |
- } else if (lowerCaseName == HttpHeaders.HOST) { |
+ } else if (name == HttpHeaders.HOST) { |
if (value is String) { |
int pos = value.indexOf(":"); |
if (pos == -1) { |
@@ -274,10 +275,10 @@ class _HttpHeaders implements HttpHeaders { |
} else { |
throw new HttpException("Unexpected type for header named $name"); |
} |
- } else if (lowerCaseName == HttpHeaders.CONTENT_TYPE) { |
+ } else if (name == HttpHeaders.CONTENT_TYPE) { |
_set(HttpHeaders.CONTENT_TYPE, value); |
} else { |
- _addValue(lowerCaseName, value); |
+ _addValue(name, value); |
} |
} |