blob: efcbc3b2b1f170ca63c7cd9eba13cf593e15dc12 [file] [log] [blame]
// 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
[
Constructor,
Constructor(Headers input),
Constructor(Dictionary input),
RuntimeEnabled=ServiceWorker,
Exposed=ServiceWorker,
RaisesException=Constructor,
WillBeGarbageCollected,
] 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);
};