103 lines
3.4 KiB
Plaintext
103 lines
3.4 KiB
Plaintext
namespace org.w3c.fetch;
|
|
|
|
|
|
// Downloaded from https://raw.githubusercontent.com/whatwg/fetch/master/Overview.src.html
|
|
typedef (Headers or sequence<sequence<ByteString>> or OpenEndedDictionary<ByteString>) HeadersInit;
|
|
[Constructor(optional HeadersInit init),
|
|
Exposed=(Window,Worker)]
|
|
interface Headers {
|
|
void append(ByteString name, ByteString value);
|
|
void delete(ByteString name);
|
|
ByteString? get(ByteString name);
|
|
sequence<ByteString> getAll(ByteString name);
|
|
boolean has(ByteString name);
|
|
void set(ByteString name, ByteString value);
|
|
iterable<ByteString, ByteString>;
|
|
};
|
|
typedef object JSON;
|
|
typedef (Blob or BufferSource or FormData or URLSearchParams or USVString) BodyInit;
|
|
[NoInterfaceObject,
|
|
Exposed=(Window,Worker)]
|
|
interface Body {
|
|
readonly attribute boolean bodyUsed;
|
|
[NewObject] Promise<ArrayBuffer> arrayBuffer();
|
|
[NewObject] Promise<Blob> blob();
|
|
[NewObject] Promise<FormData> formData();
|
|
[NewObject] Promise<JSON> json();
|
|
[NewObject] Promise<USVString> text();
|
|
};
|
|
typedef (Request or USVString) RequestInfo;
|
|
|
|
[Constructor(RequestInfo input, optional RequestInit init),
|
|
Exposed=(Window,Worker)]
|
|
interface Request {
|
|
readonly attribute ByteString method;
|
|
readonly attribute USVString url;
|
|
[SameObject] readonly attribute Headers headers;
|
|
|
|
readonly attribute RequestContext context;
|
|
readonly attribute DOMString referrer;
|
|
readonly attribute RequestMode mode;
|
|
readonly attribute RequestCredentials credentials;
|
|
readonly attribute RequestCache cache;
|
|
readonly attribute RequestRedirect redirect;
|
|
|
|
[NewObject] Request clone();
|
|
};
|
|
Request implements Body;
|
|
|
|
dictionary RequestInit {
|
|
ByteString method;
|
|
HeadersInit headers;
|
|
BodyInit body;
|
|
RequestMode mode;
|
|
RequestCredentials credentials;
|
|
RequestCache cache;
|
|
RequestRedirect redirect; // "manual" cannot be set
|
|
};
|
|
|
|
enum RequestContext {
|
|
"", "audio", "beacon", "cspreport", "download", "embed", "eventsource", "favicon",
|
|
"fetch", "font", "form", "frame", "hyperlink", "iframe", "image", "imageset", "import",
|
|
"internal", "location", "manifest", "metarefresh", "object", "ping", "plugin",
|
|
"prefetch", "preload", "prerender", "script", "serviceworker", "sharedworker",
|
|
"subresource", "style", "track", "video", "worker", "xmlhttprequest", "xslt"
|
|
};
|
|
enum RequestMode { "same-origin", "no-cors", "cors" };
|
|
enum RequestCredentials { "omit", "same-origin", "include" };
|
|
enum RequestCache { "default", "no-store", "reload", "no-cache", "force-cache", "only-if-cached" };
|
|
enum RequestRedirect { "follow", "error", "manual" };
|
|
[Constructor(optional BodyInit body, optional ResponseInit init),
|
|
Exposed=(Window,Worker)]
|
|
interface Response {
|
|
[NewObject] static Response error();
|
|
[NewObject] static Response redirect(USVString url, optional unsigned short status = 302);
|
|
|
|
readonly attribute ResponseType type;
|
|
|
|
readonly attribute USVString url;
|
|
readonly attribute unsigned short status;
|
|
readonly attribute boolean ok;
|
|
readonly attribute ByteString statusText;
|
|
[SameObject] readonly attribute Headers headers;
|
|
|
|
[NewObject] Response clone();
|
|
};
|
|
Response implements Body;
|
|
|
|
dictionary ResponseInit {
|
|
unsigned short status = 200;
|
|
ByteString statusText = "OK";
|
|
HeadersInit headers;
|
|
};
|
|
|
|
enum ResponseType { "basic", "cors", "default", "error", "opaque" };
|
|
[NoInterfaceObject,
|
|
Exposed=(Window,Worker)]
|
|
interface GlobalFetch {
|
|
[NewObject] Promise<Response> fetch(RequestInfo input, optional RequestInit init);
|
|
};
|
|
Window implements GlobalFetch;
|
|
WorkerGlobalScope implements GlobalFetch;
|
|
|