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

Unified Diff: sdk/lib/io/http_headers.dart

Issue 124753002: Code cleanup (mostly io lib and some http lib). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merge to head. Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: sdk/lib/io/http_headers.dart
diff --git a/sdk/lib/io/http_headers.dart b/sdk/lib/io/http_headers.dart
index cff9d37fb2f6afbfb57c27f3fe9373106ba8fca5..1d7e9b55382bf03d76358e873cfd403a72bb9ffa 100644
--- a/sdk/lib/io/http_headers.dart
+++ b/sdk/lib/io/http_headers.dart
@@ -17,17 +17,14 @@ class _HttpHeaders implements HttpHeaders {
String _host;
int _port;
- _HttpHeaders(String this.protocolVersion)
+ _HttpHeaders(this.protocolVersion)
: _headers = new HashMap<String, List<String>>() {
if (protocolVersion == "1.0") {
_persistentConnection = false;
}
}
- List<String> operator[](String name) {
- name = name.toLowerCase();
- return _headers[name];
- }
+ List<String> operator[](String name) => _headers[name.toLowerCase()];
String value(String name) {
name = name.toLowerCase();
@@ -46,9 +43,7 @@ class _HttpHeaders implements HttpHeaders {
void _addAll(String name, value) {
if (value is List) {
- for (int i = 0; i < value.length; i++) {
- _add(name, value[i]);
- }
+ value.forEach((v) => _add(name, v));
} else {
_add(name, value);
}
@@ -252,82 +247,99 @@ class _HttpHeaders implements HttpHeaders {
// [name] must be a lower-case version of the name.
void _add(String name, value) {
// TODO(sgjesse): Add immutable state throw HttpException is immutable.
- if (name == HttpHeaders.CONTENT_LENGTH) {
- if (value is int) {
- contentLength = value;
- } else if (value is String) {
- contentLength = int.parse(value);
- } else {
- throw new HttpException("Unexpected type for header named $name");
- }
- } else if (name == HttpHeaders.TRANSFER_ENCODING) {
- if (value == "chunked") {
- chunkedTransferEncoding = true;
- } else {
- _addValue(name, value);
- }
- } else if (name == HttpHeaders.DATE) {
- if (value is DateTime) {
- date = value;
- } else if (value is String) {
- _set(HttpHeaders.DATE, value);
- } else {
- throw new HttpException("Unexpected type for header named $name");
- }
- } else if (name == HttpHeaders.EXPIRES) {
- if (value is DateTime) {
- expires = value;
- } else if (value is String) {
- _set(HttpHeaders.EXPIRES, value);
- } else {
- throw new HttpException("Unexpected type for header named $name");
- }
- } else if (name == HttpHeaders.IF_MODIFIED_SINCE) {
- if (value is DateTime) {
- ifModifiedSince = value;
- } else if (value is String) {
- _set(HttpHeaders.IF_MODIFIED_SINCE, value);
- } else {
- throw new HttpException("Unexpected type for header named $name");
- }
- } else if (name == HttpHeaders.HOST) {
- if (value is String) {
- int pos = value.indexOf(":");
- if (pos == -1) {
- _host = value;
- _port = HttpClient.DEFAULT_HTTP_PORT;
+ switch (name) {
+ case HttpHeaders.CONTENT_LENGTH:
+ if (value is int) {
+ contentLength = value;
+ } else if (value is String) {
+ contentLength = int.parse(value);
} else {
- if (pos > 0) {
- _host = value.substring(0, pos);
- } else {
- _host = null;
- }
- if (pos + 1 == value.length) {
+ throw new HttpException("Unexpected type for header named $name");
+ }
+ break;
+
+ case HttpHeaders.TRANSFER_ENCODING:
+ if (value == "chunked") {
+ chunkedTransferEncoding = true;
+ } else {
+ _addValue(name, value);
+ }
+ break;
+
+ case HttpHeaders.DATE:
+ if (value is DateTime) {
+ date = value;
+ } else if (value is String) {
+ _set(HttpHeaders.DATE, value);
+ } else {
+ throw new HttpException("Unexpected type for header named $name");
+ }
+ break;
+
+ case HttpHeaders.EXPIRES:
+ if (value is DateTime) {
+ expires = value;
+ } else if (value is String) {
+ _set(HttpHeaders.EXPIRES, value);
+ } else {
+ throw new HttpException("Unexpected type for header named $name");
+ }
+ break;
+
+ case HttpHeaders.IF_MODIFIED_SINCE:
+ if (value is DateTime) {
+ ifModifiedSince = value;
+ } else if (value is String) {
+ _set(HttpHeaders.IF_MODIFIED_SINCE, value);
+ } else {
+ throw new HttpException("Unexpected type for header named $name");
+ }
+ break;
+
+ case HttpHeaders.HOST:
+ if (value is String) {
+ int pos = value.indexOf(":");
+ if (pos == -1) {
+ _host = value;
_port = HttpClient.DEFAULT_HTTP_PORT;
} else {
- try {
- _port = int.parse(value.substring(pos + 1));
- } on FormatException catch (e) {
- _port = null;
+ if (pos > 0) {
+ _host = value.substring(0, pos);
+ } else {
+ _host = null;
+ }
+ if (pos + 1 == value.length) {
+ _port = HttpClient.DEFAULT_HTTP_PORT;
+ } else {
+ try {
+ _port = int.parse(value.substring(pos + 1));
+ } on FormatException catch (e) {
+ _port = null;
+ }
}
}
+ _set(HttpHeaders.HOST, value);
+ } else {
+ throw new HttpException("Unexpected type for header named $name");
}
- _set(HttpHeaders.HOST, value);
- } else {
- throw new HttpException("Unexpected type for header named $name");
- }
- } else if (name == HttpHeaders.CONNECTION) {
- var lowerCaseValue = value.toLowerCase();
- if (lowerCaseValue == 'close') {
- _persistentConnection = false;
- } else if (lowerCaseValue == 'keep-alive') {
- _persistentConnection = true;
- }
- _addValue(name, value);
- } else if (name == HttpHeaders.CONTENT_TYPE) {
- _set(HttpHeaders.CONTENT_TYPE, value);
- } else {
- _addValue(name, value);
+ break;
+
+ case HttpHeaders.CONNECTION:
+ var lowerCaseValue = value.toLowerCase();
+ if (lowerCaseValue == 'close') {
+ _persistentConnection = false;
+ } else if (lowerCaseValue == 'keep-alive') {
+ _persistentConnection = true;
+ }
+ _addValue(name, value);
+ break;
+
+ case HttpHeaders.CONTENT_TYPE:
+ _set(HttpHeaders.CONTENT_TYPE, value);
+ break;
+
+ default:
+ _addValue(name, value);
}
}
@@ -409,17 +421,14 @@ class _HttpHeaders implements HttpHeaders {
String toString() {
StringBuffer sb = new StringBuffer();
_headers.forEach((String name, List<String> values) {
- sb.write(name);
- sb.write(": ");
+ sb..write(name)..write(": ");
bool fold = _foldHeader(name);
for (int i = 0; i < values.length; i++) {
if (i > 0) {
if (fold) {
sb.write(", ");
} else {
- sb.write("\n");
- sb.write(name);
- sb.write(": ");
+ sb..write("\n")..write(name)..write(": ");
}
}
sb.write(values[i]);
@@ -533,10 +542,7 @@ class _HeaderValue implements HeaderValue {
sb.write(_value);
if (parameters != null && parameters.length > 0) {
_parameters.forEach((String name, String value) {
- sb.write("; ");
- sb.write(name);
- sb.write("=");
- sb.write(value);
+ sb..write("; ")..write(name)..write("=")..write(value);
});
}
return sb.toString();
@@ -694,7 +700,16 @@ class _ContentType extends _HeaderValue implements ContentType {
class _Cookie implements Cookie {
- _Cookie([String this.name, String this.value]);
+ String name;
+ String value;
+ DateTime expires;
+ int maxAge;
+ String domain;
+ String path;
+ bool httpOnly = false;
+ bool secure = false;
+
+ _Cookie([this.name, this.value]);
_Cookie.fromSetCookieValue(String value) {
// Parse the 'set-cookie' header value.
@@ -789,38 +804,23 @@ class _Cookie implements Cookie {
String toString() {
StringBuffer sb = new StringBuffer();
- sb.write(name);
- sb.write("=");
- sb.write(value);
+ sb..write(name)..write("=")..write(value);
if (expires != null) {
- sb.write("; Expires=");
- sb.write(HttpDate.format(expires));
+ sb..write("; Expires=")..write(HttpDate.format(expires));
}
if (maxAge != null) {
- sb.write("; Max-Age=");
- sb.write(maxAge);
+ sb..write("; Max-Age=")..write(maxAge);
}
if (domain != null) {
- sb.write("; Domain=");
- sb.write(domain);
+ sb..write("; Domain=")..write(domain);
}
if (path != null) {
- sb.write("; Path=");
- sb.write(path);
+ sb..write("; Path=")..write(path);
}
if (secure) sb.write("; Secure");
if (httpOnly) sb.write("; HttpOnly");
return sb.toString();
}
-
- String name;
- String value;
- DateTime expires;
- int maxAge;
- String domain;
- String path;
- bool httpOnly = false;
- bool secure = false;
}

Powered by Google App Engine
This is Rietveld 408576698