Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(386)

Side by Side Diff: sdk/lib/io/http_headers.dart

Issue 208333015: Don't add ':443' to host header, when the connection is secure. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | sdk/lib/io/http_impl.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 part of dart.io; 5 part of dart.io;
6 6
7 class _HttpHeaders implements HttpHeaders { 7 class _HttpHeaders implements HttpHeaders {
8 final Map<String, List<String>> _headers; 8 final Map<String, List<String>> _headers;
9 final String protocolVersion; 9 final String protocolVersion;
10 10
11 bool _mutable = true; // Are the headers currently mutable? 11 bool _mutable = true; // Are the headers currently mutable?
12 List<String> _noFoldingHeaders; 12 List<String> _noFoldingHeaders;
13 13
14 int _contentLength = -1; 14 int _contentLength = -1;
15 bool _persistentConnection = true; 15 bool _persistentConnection = true;
16 bool _chunkedTransferEncoding = false; 16 bool _chunkedTransferEncoding = false;
17 String _host; 17 String _host;
18 int _port; 18 int _port;
19 19
20 _HttpHeaders(this.protocolVersion) 20 final int _defaultPortForScheme;
21 : _headers = new HashMap<String, List<String>>() { 21
22 _HttpHeaders(this.protocolVersion,
23 {int defaultPortForScheme: HttpClient.DEFAULT_HTTP_PORT})
24 : _headers = new HashMap<String, List<String>>(),
25 _defaultPortForScheme = defaultPortForScheme {
22 if (protocolVersion == "1.0") { 26 if (protocolVersion == "1.0") {
23 _persistentConnection = false; 27 _persistentConnection = false;
24 } 28 }
25 } 29 }
26 30
27 List<String> operator[](String name) => _headers[name.toLowerCase()]; 31 List<String> operator[](String name) => _headers[name.toLowerCase()];
28 32
29 String value(String name) { 33 String value(String name) {
30 name = name.toLowerCase(); 34 name = name.toLowerCase();
31 List<String> values = _headers[name]; 35 List<String> values = _headers[name];
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 List<String> values = new List<String>(); 365 List<String> values = new List<String>();
362 _headers[name] = values; 366 _headers[name] = values;
363 values.add(value); 367 values.add(value);
364 } 368 }
365 369
366 _checkMutable() { 370 _checkMutable() {
367 if (!_mutable) throw new HttpException("HTTP headers are not mutable"); 371 if (!_mutable) throw new HttpException("HTTP headers are not mutable");
368 } 372 }
369 373
370 _updateHostHeader() { 374 _updateHostHeader() {
371 bool defaultPort = _port == null || _port == HttpClient.DEFAULT_HTTP_PORT; 375 bool defaultPort = _port == null || _port == _defaultPortForScheme;
372 String portPart = defaultPort ? "" : ":$_port"; 376 String portPart = defaultPort ? "" : ":$_port";
373 _set("host", "$host$portPart"); 377 _set("host", "$host$portPart");
374 } 378 }
375 379
376 _foldHeader(String name) { 380 _foldHeader(String name) {
377 if (name == HttpHeaders.SET_COOKIE || 381 if (name == HttpHeaders.SET_COOKIE ||
378 (_noFoldingHeaders != null && 382 (_noFoldingHeaders != null &&
379 _noFoldingHeaders.indexOf(name) != -1)) { 383 _noFoldingHeaders.indexOf(name) != -1)) {
380 return false; 384 return false;
381 } 385 }
(...skipping 506 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 void clear() { 892 void clear() {
889 throw new UnsupportedError("Cannot modify an unmodifiable map"); 893 throw new UnsupportedError("Cannot modify an unmodifiable map");
890 } 894 }
891 void forEach(void f(K key, V value)) => _map.forEach(f); 895 void forEach(void f(K key, V value)) => _map.forEach(f);
892 Iterable<K> get keys => _map.keys; 896 Iterable<K> get keys => _map.keys;
893 Iterable<V> get values => _map.values; 897 Iterable<V> get values => _map.values;
894 int get length => _map.length; 898 int get length => _map.length;
895 bool get isEmpty => _map.isEmpty; 899 bool get isEmpty => _map.isEmpty;
896 bool get isNotEmpty => _map.isNotEmpty; 900 bool get isNotEmpty => _map.isNotEmpty;
897 } 901 }
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/io/http_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698