// 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),
    Constructor(sequence<sequence<ByteString>> input),
    Exposed=(Window,Worker),
    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);
    iterable<ByteString, ByteString>;
};
