| OLD | NEW |
| 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 _HttpHeaders(String this.protocolVersion) | 8 _HttpHeaders(String this.protocolVersion) |
| 9 : _headers = new Map<String, List<String>>(); | 9 : _headers = new Map<String, List<String>>(); |
| 10 | 10 |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 void set port(int port) { | 133 void set port(int port) { |
| 134 _checkMutable(); | 134 _checkMutable(); |
| 135 _port = port; | 135 _port = port; |
| 136 _updateHostHeader(); | 136 _updateHostHeader(); |
| 137 } | 137 } |
| 138 | 138 |
| 139 DateTime get ifModifiedSince { | 139 DateTime get ifModifiedSince { |
| 140 List<String> values = _headers[HttpHeaders.IF_MODIFIED_SINCE]; | 140 List<String> values = _headers[HttpHeaders.IF_MODIFIED_SINCE]; |
| 141 if (values != null) { | 141 if (values != null) { |
| 142 try { | 142 try { |
| 143 return _HttpUtils.parseDate(values[0]); | 143 return HttpDate.parse(values[0]); |
| 144 } on Exception catch (e) { | 144 } on Exception catch (e) { |
| 145 return null; | 145 return null; |
| 146 } | 146 } |
| 147 } | 147 } |
| 148 return null; | 148 return null; |
| 149 } | 149 } |
| 150 | 150 |
| 151 void set ifModifiedSince(DateTime ifModifiedSince) { | 151 void set ifModifiedSince(DateTime ifModifiedSince) { |
| 152 _checkMutable(); | 152 _checkMutable(); |
| 153 // Format "ifModifiedSince" header with date in Greenwich Mean Time (GMT). | 153 // Format "ifModifiedSince" header with date in Greenwich Mean Time (GMT). |
| 154 String formatted = _HttpUtils.formatDate(ifModifiedSince.toUtc()); | 154 String formatted = HttpDate.format(ifModifiedSince.toUtc()); |
| 155 _set(HttpHeaders.IF_MODIFIED_SINCE, formatted); | 155 _set(HttpHeaders.IF_MODIFIED_SINCE, formatted); |
| 156 } | 156 } |
| 157 | 157 |
| 158 DateTime get date { | 158 DateTime get date { |
| 159 List<String> values = _headers[HttpHeaders.DATE]; | 159 List<String> values = _headers[HttpHeaders.DATE]; |
| 160 if (values != null) { | 160 if (values != null) { |
| 161 try { | 161 try { |
| 162 return _HttpUtils.parseDate(values[0]); | 162 return HttpDate.parse(values[0]); |
| 163 } on Exception catch (e) { | 163 } on Exception catch (e) { |
| 164 return null; | 164 return null; |
| 165 } | 165 } |
| 166 } | 166 } |
| 167 return null; | 167 return null; |
| 168 } | 168 } |
| 169 | 169 |
| 170 void set date(DateTime date) { | 170 void set date(DateTime date) { |
| 171 _checkMutable(); | 171 _checkMutable(); |
| 172 // Format "DateTime" header with date in Greenwich Mean Time (GMT). | 172 // Format "DateTime" header with date in Greenwich Mean Time (GMT). |
| 173 String formatted = _HttpUtils.formatDate(date.toUtc()); | 173 String formatted = HttpDate.format(date.toUtc()); |
| 174 _set("date", formatted); | 174 _set("date", formatted); |
| 175 } | 175 } |
| 176 | 176 |
| 177 DateTime get expires { | 177 DateTime get expires { |
| 178 List<String> values = _headers[HttpHeaders.EXPIRES]; | 178 List<String> values = _headers[HttpHeaders.EXPIRES]; |
| 179 if (values != null) { | 179 if (values != null) { |
| 180 try { | 180 try { |
| 181 return _HttpUtils.parseDate(values[0]); | 181 return HttpDate.parse(values[0]); |
| 182 } on Exception catch (e) { | 182 } on Exception catch (e) { |
| 183 return null; | 183 return null; |
| 184 } | 184 } |
| 185 } | 185 } |
| 186 return null; | 186 return null; |
| 187 } | 187 } |
| 188 | 188 |
| 189 void set expires(DateTime expires) { | 189 void set expires(DateTime expires) { |
| 190 _checkMutable(); | 190 _checkMutable(); |
| 191 // Format "Expires" header with date in Greenwich Mean Time (GMT). | 191 // Format "Expires" header with date in Greenwich Mean Time (GMT). |
| 192 String formatted = _HttpUtils.formatDate(expires.toUtc()); | 192 String formatted = HttpDate.format(expires.toUtc()); |
| 193 _set(HttpHeaders.EXPIRES, formatted); | 193 _set(HttpHeaders.EXPIRES, formatted); |
| 194 } | 194 } |
| 195 | 195 |
| 196 ContentType get contentType { | 196 ContentType get contentType { |
| 197 var values = _headers["content-type"]; | 197 var values = _headers["content-type"]; |
| 198 if (values != null) { | 198 if (values != null) { |
| 199 return ContentType.parse(values[0]); | 199 return ContentType.parse(values[0]); |
| 200 } else { | 200 } else { |
| 201 return null; | 201 return null; |
| 202 } | 202 } |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 } | 281 } |
| 282 } | 282 } |
| 283 | 283 |
| 284 void _addValue(String name, Object value) { | 284 void _addValue(String name, Object value) { |
| 285 List<String> values = _headers[name]; | 285 List<String> values = _headers[name]; |
| 286 if (values == null) { | 286 if (values == null) { |
| 287 values = new List<String>(); | 287 values = new List<String>(); |
| 288 _headers[name] = values; | 288 _headers[name] = values; |
| 289 } | 289 } |
| 290 if (value is DateTime) { | 290 if (value is DateTime) { |
| 291 values.add(_HttpUtils.formatDate(value)); | 291 values.add(HttpDate.format(value)); |
| 292 } else { | 292 } else { |
| 293 values.add(value.toString()); | 293 values.add(value.toString()); |
| 294 } | 294 } |
| 295 } | 295 } |
| 296 | 296 |
| 297 void _set(String name, String value) { | 297 void _set(String name, String value) { |
| 298 name = name.toLowerCase(); | 298 name = name.toLowerCase(); |
| 299 List<String> values = new List<String>(); | 299 List<String> values = new List<String>(); |
| 300 _headers[name] = values; | 300 _headers[name] = values; |
| 301 values.add(value); | 301 values.add(value); |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 parseAttributes(); | 743 parseAttributes(); |
| 744 } | 744 } |
| 745 | 745 |
| 746 String toString() { | 746 String toString() { |
| 747 StringBuffer sb = new StringBuffer(); | 747 StringBuffer sb = new StringBuffer(); |
| 748 sb.write(name); | 748 sb.write(name); |
| 749 sb.write("="); | 749 sb.write("="); |
| 750 sb.write(value); | 750 sb.write(value); |
| 751 if (expires != null) { | 751 if (expires != null) { |
| 752 sb.write("; Expires="); | 752 sb.write("; Expires="); |
| 753 sb.write(_HttpUtils.formatDate(expires)); | 753 sb.write(HttpDate.format(expires)); |
| 754 } | 754 } |
| 755 if (maxAge != null) { | 755 if (maxAge != null) { |
| 756 sb.write("; Max-Age="); | 756 sb.write("; Max-Age="); |
| 757 sb.write(maxAge); | 757 sb.write(maxAge); |
| 758 } | 758 } |
| 759 if (domain != null) { | 759 if (domain != null) { |
| 760 sb.write("; Domain="); | 760 sb.write("; Domain="); |
| 761 sb.write(domain); | 761 sb.write(domain); |
| 762 } | 762 } |
| 763 if (path != null) { | 763 if (path != null) { |
| 764 sb.write("; Path="); | 764 sb.write("; Path="); |
| 765 sb.write(path); | 765 sb.write(path); |
| 766 } | 766 } |
| 767 if (secure) sb.write("; Secure"); | 767 if (secure) sb.write("; Secure"); |
| 768 if (httpOnly) sb.write("; HttpOnly"); | 768 if (httpOnly) sb.write("; HttpOnly"); |
| 769 return sb.toString(); | 769 return sb.toString(); |
| 770 } | 770 } |
| 771 | 771 |
| 772 String name; | 772 String name; |
| 773 String value; | 773 String value; |
| 774 DateTime expires; | 774 DateTime expires; |
| 775 int maxAge; | 775 int maxAge; |
| 776 String domain; | 776 String domain; |
| 777 String path; | 777 String path; |
| 778 bool httpOnly = false; | 778 bool httpOnly = false; |
| 779 bool secure = false; | 779 bool secure = false; |
| 780 } | 780 } |
| OLD | NEW |