chromium/third_party/blink/renderer/core/fetch/headers.idl

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://fetch.spec.whatwg.org/#typedefdef-headersinit

typedef (sequence<sequence<ByteString>> or record<ByteString, ByteString>) HeadersInit;

// https://fetch.spec.whatwg.org/#headers-class

[
    Exposed=(Window,Worker)
] interface Headers {
    [CallWith=ScriptState, RaisesException] constructor(optional HeadersInit init);
    [CallWith=ScriptState, RaisesException] void append(ByteString name, ByteString value);
    [CallWith=ScriptState, ImplementedAs=remove, RaisesException] void delete(ByteString key);
    [RaisesException] ByteString? get(ByteString key);
    sequence<ByteString> getSetCookie();
    [RaisesException] boolean has(ByteString key);
    [CallWith=ScriptState, RaisesException] void set(ByteString key, ByteString value);
    iterable<ByteString, ByteString>;
};