blob: 6bd3fdc8b0f01d5320cd06948aea65ce54e8b69e [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.
// https://fetch.spec.whatwg.org/#request-class
typedef (Request or USVString) RequestInfo;
enum RequestDestination { "", "audio", "audioworklet", "document", "embed", "font", "image", "manifest", "object", "paintworklet", "report",
"script", "sharedworker", "style", "track", "video", "worker", "xslt" };
enum RequestMode { "navigate", "same-origin", "no-cors", "cors" };
enum RequestCredentials { "omit", "same-origin", "include" };
enum RequestRedirect { "follow", "error", "manual" };
enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache",
"only-if-cached" };
// https://w3c.github.io/webappsec-referrer-policy/#referrer-policies
enum ReferrerPolicy {
"",
"no-referrer",
"no-referrer-when-downgrade",
"origin",
"origin-when-cross-origin",
"unsafe-url"
};
[
ActiveScriptWrappable,
Constructor(RequestInfo input, optional Dictionary requestInitDict),
ConstructorCallWith=ScriptState,
Exposed=(Window,Worker),
RaisesException=Constructor
] interface Request {
readonly attribute ByteString method;
readonly attribute USVString url;
[ImplementedAs=getHeaders, SameObject] readonly attribute Headers headers;
readonly attribute RequestDestination destination;
readonly attribute DOMString referrer;
[ImplementedAs=getReferrerPolicy] readonly attribute ReferrerPolicy referrerPolicy;
readonly attribute RequestMode mode;
readonly attribute RequestCredentials credentials;
[RuntimeEnabled=FetchRequestCache] readonly attribute RequestCache cache;
readonly attribute RequestRedirect redirect;
readonly attribute DOMString integrity;
[RuntimeEnabled=FetchRequestKeepalive] readonly attribute boolean keepalive;
[RuntimeEnabled=FetchRequestSignal] readonly attribute AbortSignal signal;
[RaisesException, CallWith=ScriptState, DoNotTestNewObject, NewObject] Request clone();
};
Request implements Body;