| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // http://fetch.spec.whatwg.org/#headers-class |
| typedef Dictionary OpenEndedDictionary; |
| [ |
| Constructor, |
| Constructor(Headers input), |
| Constructor(OpenEndedDictionary input), |
| RuntimeEnabled=ServiceWorker, |
| Exposed=ServiceWorker, |
| RaisesException=Constructor, |
| GarbageCollected, |
| ] interface Headers { |
| [RaisesException] void append(ByteString name, ByteString value); |
| [ImplementedAs=remove, RaisesException] void delete(ByteString key); |
| [RaisesException] ByteString? get(ByteString key); |
| [RaisesException] sequence<ByteString> getAll(ByteString name); |
| [RaisesException] boolean has(ByteString key); |
| [RaisesException] void set(ByteString key, ByteString value); |
| |
| // The following are not defined in the spec. |
| // FIXME: We should implement Headers.prototype[Symbol.iterator] instead of |
| // forEach and size. |
| // https://www.w3.org/Bugs/Public/show_bug.cgi?id=26102 |
| readonly attribute unsigned long size; |
| void forEach(HeadersForEachCallback callback, optional any thisArg); |
| }; |