summaryrefslogtreecommitdiffstats
path: root/dom/webidl/Response.webidl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webidl/Response.webidl')
-rw-r--r--dom/webidl/Response.webidl57
1 files changed, 57 insertions, 0 deletions
diff --git a/dom/webidl/Response.webidl b/dom/webidl/Response.webidl
new file mode 100644
index 0000000000..d04453c37c
--- /dev/null
+++ b/dom/webidl/Response.webidl
@@ -0,0 +1,57 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
+ * You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * The origin of this IDL file is
+ * https://fetch.spec.whatwg.org/#response-class
+ */
+
+[Exposed=(Window,Worker)]
+interface Response {
+ // This should be constructor(optional BodyInit... but BodyInit doesn't
+ // include ReadableStream yet because we don't want to expose Streams API to
+ // Request.
+ [Throws]
+ constructor(optional (Blob or BufferSource or FormData or URLSearchParams or ReadableStream or USVString)? body = null,
+ optional ResponseInit init = {});
+
+ [NewObject] static Response error();
+ [Throws,
+ NewObject] static Response redirect(USVString url, optional unsigned short status = 302);
+ [BinaryName=CreateFromJson, Throws,
+ NewObject] static Response json(any data, optional ResponseInit init = {});
+
+ readonly attribute ResponseType type;
+
+ readonly attribute USVString url;
+ readonly attribute boolean redirected;
+ readonly attribute unsigned short status;
+ readonly attribute boolean ok;
+ readonly attribute ByteString statusText;
+ [SameObject, BinaryName="headers_"] readonly attribute Headers headers;
+
+ [Throws,
+ NewObject] Response clone();
+
+ [ChromeOnly, NewObject, Throws] Response cloneUnfiltered();
+
+ // For testing only.
+ [ChromeOnly] readonly attribute boolean hasCacheInfoChannel;
+};
+Response includes Body;
+
+// This should be part of Body but we don't want to expose body to request yet.
+// See bug 1387483.
+partial interface Response {
+ [GetterThrows]
+ readonly attribute ReadableStream? body;
+};
+
+dictionary ResponseInit {
+ unsigned short status = 200;
+ ByteString statusText = "";
+ HeadersInit headers;
+};
+
+enum ResponseType { "basic", "cors", "default", "error", "opaque", "opaqueredirect" };