| Index: mojo/public/dart/third_party/http_multi_server/lib/src/multi_headers.dart
|
| diff --git a/mojo/public/dart/third_party/http_multi_server/lib/src/multi_headers.dart b/mojo/public/dart/third_party/http_multi_server/lib/src/multi_headers.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fcd782cfce699e3eb76bc0d4b7a78b2aa945ef98
|
| --- /dev/null
|
| +++ b/mojo/public/dart/third_party/http_multi_server/lib/src/multi_headers.dart
|
| @@ -0,0 +1,123 @@
|
| +// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library http_multi_server.multi_headers;
|
| +
|
| +import 'dart:io';
|
| +
|
| +/// A class that delegates header access and setting to many [HttpHeaders]
|
| +/// instances.
|
| +class MultiHeaders implements HttpHeaders {
|
| + /// The wrapped headers.
|
| + final Set<HttpHeaders> _headers;
|
| +
|
| + bool get chunkedTransferEncoding => _headers.first.chunkedTransferEncoding;
|
| + set chunkedTransferEncoding(bool value) {
|
| + for (var headers in _headers) {
|
| + headers.chunkedTransferEncoding = value;
|
| + }
|
| + }
|
| +
|
| + int get contentLength => _headers.first.contentLength;
|
| + set contentLength(int value) {
|
| + for (var headers in _headers) {
|
| + headers.contentLength = value;
|
| + }
|
| + }
|
| +
|
| + ContentType get contentType => _headers.first.contentType;
|
| + set contentType(ContentType value) {
|
| + for (var headers in _headers) {
|
| + headers.contentType = value;
|
| + }
|
| + }
|
| +
|
| + DateTime get date => _headers.first.date;
|
| + set date(DateTime value) {
|
| + for (var headers in _headers) {
|
| + headers.date = value;
|
| + }
|
| + }
|
| +
|
| + DateTime get expires => _headers.first.expires;
|
| + set expires(DateTime value) {
|
| + for (var headers in _headers) {
|
| + headers.expires = value;
|
| + }
|
| + }
|
| +
|
| + String get host => _headers.first.host;
|
| + set host(String value) {
|
| + for (var headers in _headers) {
|
| + headers.host = value;
|
| + }
|
| + }
|
| +
|
| + DateTime get ifModifiedSince => _headers.first.ifModifiedSince;
|
| + set ifModifiedSince(DateTime value) {
|
| + for (var headers in _headers) {
|
| + headers.ifModifiedSince = value;
|
| + }
|
| + }
|
| +
|
| + bool get persistentConnection => _headers.first.persistentConnection;
|
| + set persistentConnection(bool value) {
|
| + for (var headers in _headers) {
|
| + headers.persistentConnection = value;
|
| + }
|
| + }
|
| +
|
| + int get port => _headers.first.port;
|
| + set port(int value) {
|
| + for (var headers in _headers) {
|
| + headers.port = value;
|
| + }
|
| + }
|
| +
|
| + MultiHeaders(Iterable<HttpHeaders> headers)
|
| + : _headers = headers.toSet();
|
| +
|
| + void add(String name, Object value) {
|
| + for (var headers in _headers) {
|
| + headers.add(name, value);
|
| + }
|
| + }
|
| +
|
| + void forEach(void f(String name, List<String> values)) =>
|
| + _headers.first.forEach(f);
|
| +
|
| + void noFolding(String name) {
|
| + for (var headers in _headers) {
|
| + headers.noFolding(name);
|
| + }
|
| + }
|
| +
|
| + void remove(String name, Object value) {
|
| + for (var headers in _headers) {
|
| + headers.remove(name, value);
|
| + }
|
| + }
|
| +
|
| + void removeAll(String name) {
|
| + for (var headers in _headers) {
|
| + headers.removeAll(name);
|
| + }
|
| + }
|
| +
|
| + void set(String name, Object value) {
|
| + for (var headers in _headers) {
|
| + headers.set(name, value);
|
| + }
|
| + }
|
| +
|
| + String value(String name) => _headers.first.value(name);
|
| +
|
| + List<String> operator[](String name) => _headers.first[name];
|
| +
|
| + void clear() {
|
| + for (var headers in _headers) {
|
| + headers.clear();
|
| + }
|
| + }
|
| +}
|
|
|