| /* 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 https://mozilla.org/MPL/2.0/. */ |
| /* |
| * The origin of this IDL file is |
| * https://xhr.spec.whatwg.org/#interface-xmlhttprequest |
| * |
| * To the extent possible under law, the editor has waived all copyright |
| * and related or neighboring rights to this work. In addition, as of 1 May 2014, |
| * the editor has made this specification available under the Open Web Foundation |
| * Agreement Version 1.0, which is available at |
| * http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0. |
| */ |
| |
| // https://fetch.spec.whatwg.org/#typedefdef-xmlhttprequestbodyinit |
| typedef (Blob or BufferSource or FormData or DOMString or URLSearchParams) XMLHttpRequestBodyInit; |
| |
| // https://fetch.spec.whatwg.org/#bodyinit |
| typedef (ReadableStream or XMLHttpRequestBodyInit) BodyInit; |
| |
| enum XMLHttpRequestResponseType { |
| "", |
| "arraybuffer", |
| "blob", |
| "document", |
| "json", |
| "text", |
| }; |
| |
| [Exposed=(Window,Worker)] |
| interface XMLHttpRequest : XMLHttpRequestEventTarget { |
| [Throws] constructor(); |
| // event handler |
| attribute EventHandler onreadystatechange; |
| |
| // states |
| const unsigned short UNSENT = 0; |
| const unsigned short OPENED = 1; |
| const unsigned short HEADERS_RECEIVED = 2; |
| const unsigned short LOADING = 3; |
| const unsigned short DONE = 4; |
| readonly attribute unsigned short readyState; |
| |
| // request |
| [Throws] |
| undefined open(ByteString method, USVString url); |
| [Throws] |
| undefined open(ByteString method, USVString url, boolean async, |
| optional USVString? username = null, |
| optional USVString? password = null); |
| |
| [Throws] |
| undefined setRequestHeader(ByteString name, ByteString value); |
| [SetterThrows] |
| attribute unsigned long timeout; |
| [SetterThrows] |
| attribute boolean withCredentials; |
| readonly attribute XMLHttpRequestUpload upload; |
| [Throws] |
| undefined send(optional (Document or XMLHttpRequestBodyInit)? data = null); |
| undefined abort(); |
| |
| // response |
| readonly attribute USVString responseURL; |
| readonly attribute unsigned short status; |
| readonly attribute ByteString statusText; |
| ByteString? getResponseHeader(ByteString name); |
| ByteString getAllResponseHeaders(); |
| [Throws] |
| undefined overrideMimeType(DOMString mime); |
| [SetterThrows] |
| attribute XMLHttpRequestResponseType responseType; |
| readonly attribute any response; |
| [Throws] |
| readonly attribute USVString responseText; |
| [Throws, Exposed=Window] readonly attribute Document? responseXML; |
| }; |