enum RequestType { "", "audio", "font", "image", "script", "style", "track", "video" };
enum RequestDestination { "", "document", "sharedworker", "subresource", "unknown", "worker" };
enum RequestMode { "navigate", "same-origin", "no-cors", "cors" };
enum RequestCredentials { "omit", "same-origin", "include" };
enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache" };
enum RequestRedirect { "follow", "error", "manual" };
enum ReferrerPolicy { "", "no-referrer", "no-referrer-when-downgrade", "origin", "origin-when-cross-origin", "unsafe-url" };
[
ActiveDOMObject,
Conditional=FETCH_API,
EnabledAtRuntime=FetchAPI,
ConstructorCallWith=ScriptExecutionContext,
ConstructorRaisesException,
Constructor(FetchRequest input, optional Dictionary init),
Constructor(DOMString input, optional Dictionary init),
Exposed=(Window,Worker),
InterfaceName=Request
]
interface FetchRequest {
readonly attribute DOMString method;
readonly attribute DOMString url;
readonly attribute FetchHeaders headers;
readonly attribute RequestType type;
readonly attribute RequestDestination destination;
readonly attribute DOMString referrer;
readonly attribute ReferrerPolicy referrerPolicy;
readonly attribute RequestMode mode;
readonly attribute RequestCredentials credentials;
readonly attribute RequestCache cache;
readonly attribute RequestRedirect redirect;
readonly attribute DOMString integrity;
[NewObject, CallWith=ScriptExecutionContext, RaisesException] FetchRequest clone();
};
FetchRequest implements FetchBody;