mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 21:01:08 +00:00
e4ddf24147
Sorry for the massive patch but I found it hard to split without introducing a bunch of copies around... This mostly makes necko and DOM agree on which strings to use, which should result on less copies and conversions. Differential Revision: https://phabricator.services.mozilla.com/D205601
58 lines
1.9 KiB
Plaintext
58 lines
1.9 KiB
Plaintext
/* -*- 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(UTF8String url, optional unsigned short status = 302);
|
|
[BinaryName=CreateFromJson, Throws,
|
|
NewObject] static Response json(any data, optional ResponseInit init = {});
|
|
|
|
readonly attribute ResponseType type;
|
|
|
|
readonly attribute UTF8String 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" };
|