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

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

Issue 11770004: Rename Date to DateTime. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments and keep Backwards-compatibility class Date. Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sdk/lib/io/http.dart ('k') | 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 _HttpHeaders() : _headers = new Map<String, List<String>>(); 8 _HttpHeaders() : _headers = new Map<String, List<String>>();
9 9
10 List<String> operator[](String name) { 10 List<String> operator[](String name) {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 } 103 }
104 104
105 int get port => _port; 105 int get port => _port;
106 106
107 void set port(int port) { 107 void set port(int port) {
108 _checkMutable(); 108 _checkMutable();
109 _port = port; 109 _port = port;
110 _updateHostHeader(); 110 _updateHostHeader();
111 } 111 }
112 112
113 Date get ifModifiedSince { 113 DateTime get ifModifiedSince {
114 List<String> values = _headers["if-modified-since"]; 114 List<String> values = _headers["if-modified-since"];
115 if (values != null) { 115 if (values != null) {
116 try { 116 try {
117 return _HttpUtils.parseDate(values[0]); 117 return _HttpUtils.parseDate(values[0]);
118 } on Exception catch (e) { 118 } on Exception catch (e) {
119 return null; 119 return null;
120 } 120 }
121 } 121 }
122 return null; 122 return null;
123 } 123 }
124 124
125 void set ifModifiedSince(Date ifModifiedSince) { 125 void set ifModifiedSince(DateTime ifModifiedSince) {
126 _checkMutable(); 126 _checkMutable();
127 // Format "ifModifiedSince" header with date in Greenwich Mean Time (GMT). 127 // Format "ifModifiedSince" header with date in Greenwich Mean Time (GMT).
128 String formatted = _HttpUtils.formatDate(ifModifiedSince.toUtc()); 128 String formatted = _HttpUtils.formatDate(ifModifiedSince.toUtc());
129 _set("if-modified-since", formatted); 129 _set("if-modified-since", formatted);
130 } 130 }
131 131
132 Date get date { 132 DateTime get date {
133 List<String> values = _headers["date"]; 133 List<String> values = _headers["date"];
134 if (values != null) { 134 if (values != null) {
135 try { 135 try {
136 return _HttpUtils.parseDate(values[0]); 136 return _HttpUtils.parseDate(values[0]);
137 } on Exception catch (e) { 137 } on Exception catch (e) {
138 return null; 138 return null;
139 } 139 }
140 } 140 }
141 return null; 141 return null;
142 } 142 }
143 143
144 void set date(Date date) { 144 void set date(DateTime date) {
145 _checkMutable(); 145 _checkMutable();
146 // Format "Date" header with date in Greenwich Mean Time (GMT). 146 // Format "DateTime" header with date in Greenwich Mean Time (GMT).
147 String formatted = _HttpUtils.formatDate(date.toUtc()); 147 String formatted = _HttpUtils.formatDate(date.toUtc());
148 _set("date", formatted); 148 _set("date", formatted);
149 } 149 }
150 150
151 Date get expires { 151 DateTime get expires {
152 List<String> values = _headers["expires"]; 152 List<String> values = _headers["expires"];
153 if (values != null) { 153 if (values != null) {
154 try { 154 try {
155 return _HttpUtils.parseDate(values[0]); 155 return _HttpUtils.parseDate(values[0]);
156 } on Exception catch (e) { 156 } on Exception catch (e) {
157 return null; 157 return null;
158 } 158 }
159 } 159 }
160 return null; 160 return null;
161 } 161 }
162 162
163 void set expires(Date expires) { 163 void set expires(DateTime expires) {
164 _checkMutable(); 164 _checkMutable();
165 // Format "Expires" header with date in Greenwich Mean Time (GMT). 165 // Format "Expires" header with date in Greenwich Mean Time (GMT).
166 String formatted = _HttpUtils.formatDate(expires.toUtc()); 166 String formatted = _HttpUtils.formatDate(expires.toUtc());
167 _set("expires", formatted); 167 _set("expires", formatted);
168 } 168 }
169 169
170 ContentType get contentType { 170 ContentType get contentType {
171 var values = _headers["content-type"]; 171 var values = _headers["content-type"];
172 if (values != null) { 172 if (values != null) {
173 return new ContentType.fromString(values[0]); 173 return new ContentType.fromString(values[0]);
(...skipping 18 matching lines...) Expand all
192 } else { 192 } else {
193 throw new HttpException("Unexpected type for header named $name"); 193 throw new HttpException("Unexpected type for header named $name");
194 } 194 }
195 } else if (lowerCaseName == "transfer-encoding") { 195 } else if (lowerCaseName == "transfer-encoding") {
196 if (value == "chunked") { 196 if (value == "chunked") {
197 chunkedTransferEncoding = true; 197 chunkedTransferEncoding = true;
198 } else { 198 } else {
199 _addValue(lowerCaseName, value); 199 _addValue(lowerCaseName, value);
200 } 200 }
201 } else if (lowerCaseName == "date") { 201 } else if (lowerCaseName == "date") {
202 if (value is Date) { 202 if (value is DateTime) {
203 date = value; 203 date = value;
204 } else if (value is String) { 204 } else if (value is String) {
205 _set("date", value); 205 _set("date", value);
206 } else { 206 } else {
207 throw new HttpException("Unexpected type for header named $name"); 207 throw new HttpException("Unexpected type for header named $name");
208 } 208 }
209 } else if (lowerCaseName == "expires") { 209 } else if (lowerCaseName == "expires") {
210 if (value is Date) { 210 if (value is DateTime) {
211 expires = value; 211 expires = value;
212 } else if (value is String) { 212 } else if (value is String) {
213 _set("expires", value); 213 _set("expires", value);
214 } else { 214 } else {
215 throw new HttpException("Unexpected type for header named $name"); 215 throw new HttpException("Unexpected type for header named $name");
216 } 216 }
217 } else if (lowerCaseName == "if-modified-since") { 217 } else if (lowerCaseName == "if-modified-since") {
218 if (value is Date) { 218 if (value is DateTime) {
219 ifModifiedSince = value; 219 ifModifiedSince = value;
220 } else if (value is String) { 220 } else if (value is String) {
221 _set("if-modified-since", value); 221 _set("if-modified-since", value);
222 } else { 222 } else {
223 throw new HttpException("Unexpected type for header named $name"); 223 throw new HttpException("Unexpected type for header named $name");
224 } 224 }
225 } else if (lowerCaseName == "host") { 225 } else if (lowerCaseName == "host") {
226 int pos = value.indexOf(":"); 226 int pos = value.indexOf(":");
227 if (pos == -1) { 227 if (pos == -1) {
228 _host = value; 228 _host = value;
(...skipping 21 matching lines...) Expand all
250 _addValue(lowerCaseName, value); 250 _addValue(lowerCaseName, value);
251 } 251 }
252 } 252 }
253 253
254 void _addValue(String name, Object value) { 254 void _addValue(String name, Object value) {
255 List<String> values = _headers[name]; 255 List<String> values = _headers[name];
256 if (values == null) { 256 if (values == null) {
257 values = new List<String>(); 257 values = new List<String>();
258 _headers[name] = values; 258 _headers[name] = values;
259 } 259 }
260 if (value is Date) { 260 if (value is DateTime) {
261 values.add(_HttpUtils.formatDate(value)); 261 values.add(_HttpUtils.formatDate(value));
262 } else { 262 } else {
263 values.add(value.toString()); 263 values.add(value.toString());
264 } 264 }
265 } 265 }
266 266
267 void _set(String name, String value) { 267 void _set(String name, String value) {
268 name = name.toLowerCase(); 268 name = name.toLowerCase();
269 List<String> values = new List<String>(); 269 List<String> values = new List<String>();
270 _headers[name] = values; 270 _headers[name] = values;
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 sb.add("; Path="); 676 sb.add("; Path=");
677 sb.add(path); 677 sb.add(path);
678 } 678 }
679 if (secure) sb.add("; Secure"); 679 if (secure) sb.add("; Secure");
680 if (httpOnly) sb.add("; HttpOnly"); 680 if (httpOnly) sb.add("; HttpOnly");
681 return sb.toString(); 681 return sb.toString();
682 } 682 }
683 683
684 String name; 684 String name;
685 String value; 685 String value;
686 Date expires; 686 DateTime expires;
687 int maxAge; 687 int maxAge;
688 String domain; 688 String domain;
689 String path; 689 String path;
690 bool httpOnly = false; 690 bool httpOnly = false;
691 bool secure = false; 691 bool secure = false;
692 } 692 }
OLDNEW
« no previous file with comments | « sdk/lib/io/http.dart ('k') | sdk/lib/io/http_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698