Chromium Code Reviews| Index: sdk/lib/io/http_headers.dart |
| diff --git a/sdk/lib/io/http_headers.dart b/sdk/lib/io/http_headers.dart |
| index 62e940c2ffcb18ca9932baf885f6bcc291db21e8..2aab51defab020dac4ed74af91e726e140f371aa 100644 |
| --- a/sdk/lib/io/http_headers.dart |
| +++ b/sdk/lib/io/http_headers.dart |
| @@ -41,21 +41,24 @@ class _HttpHeaders implements HttpHeaders { |
| void add(String name, value) { |
| _checkMutable(); |
| - var lowerCaseName = name.toLowerCase(); |
| + _addAll(name.toLowerCase(), value); |
| + } |
| + |
| + void _addAll(String name, value) { |
| if (value is List) { |
| for (int i = 0; i < value.length; i++) { |
| - _add(lowerCaseName, value[i]); |
| + _add(name, value[i]); |
| } |
| } else { |
| - _add(lowerCaseName, value); |
| + _add(name, value); |
| } |
| } |
| void set(String name, Object value) { |
| - name = name.toLowerCase(); |
| _checkMutable(); |
| - removeAll(name); |
| - add(name, value); |
| + name = name.toLowerCase(); |
| + _headers.remove(name); |
| + _addAll(name, value); |
| } |
| void remove(String name, Object value) { |
| @@ -127,6 +130,7 @@ class _HttpHeaders implements HttpHeaders { |
| _contentLength = contentLength; |
| if (_contentLength >= 0) { |
| if (chunkedTransferEncoding) chunkedTransferEncoding = false; |
|
Søren Gjesse
2013/11/21 13:03:03
Accidental edit?
Anders Johnsen
2013/11/21 13:14:41
Done.
|
| + |
| _set(HttpHeaders.CONTENT_LENGTH, contentLength.toString()); |
| } else { |
| removeAll(HttpHeaders.CONTENT_LENGTH); |
| @@ -342,7 +346,7 @@ class _HttpHeaders implements HttpHeaders { |
| } |
| void _set(String name, String value) { |
| - name = name.toLowerCase(); |
| + assert(name == name.toLowerCase()); |
| List<String> values = new List<String>(); |
| _headers[name] = values; |
| values.add(value); |