This wraps the browser's XMLHttpRequest implementation to provide better control over internet access. It is isomorphic with the standard XMLHttpRequest, so it should act as a drop-in replacement.

Note that Node doesn't have a native implementation, so this is only for the renderer.

Implements

  • XMLHttpRequest

Constructors

Properties

abort: () => void

Cancels any network activity.

MDN Reference

addEventListener: <K extends keyof XMLHttpRequestEventMap>(
    type: K,
    listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any,
    options?: boolean | AddEventListenerOptions,
) => void
dispatchEvent: (event: Event) => boolean

Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

MDN Reference

DONE: 4
getAllResponseHeaders: () => string
getResponseHeader: (name: string) => null | string
HEADERS_RECEIVED: 2
LOADING: 3
onabort: null | (this: XMLHttpRequest, ev: ProgressEvent) => any
onerror: null | (this: XMLHttpRequest, ev: ProgressEvent) => any
onload: null | (this: XMLHttpRequest, ev: ProgressEvent) => any
onloadend: null | (this: XMLHttpRequest, ev: ProgressEvent) => any
onloadstart: null | (this: XMLHttpRequest, ev: ProgressEvent) => any
onprogress: null | (this: XMLHttpRequest, ev: ProgressEvent) => any
onreadystatechange: null | (this: XMLHttpRequest, ev: Event) => any
ontimeout: null | (this: XMLHttpRequest, ev: ProgressEvent) => any
open: (
    method: string,
    url: string,
    async?: boolean,
    username?: null | string,
    password?: null | string,
) => void

Sets the request method, request URL, and synchronous flag.

Throws a "SyntaxError" DOMException if either method is not a valid method or url cannot be parsed.

Throws a "SecurityError" DOMException if method is a case-insensitive match for CONNECT, TRACE, or TRACK.

Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string.

MDN Reference

OPENED: 1
overrideMimeType: (mime: string) => void

Acts as if the Content-Type header value for a response is mime. (It does not change the header.)

Throws an "InvalidStateError" DOMException if state is loading or done.

MDN Reference

readyState: number

Returns client's state.

MDN Reference

removeEventListener: <K extends keyof XMLHttpRequestEventMap>(
    type: K,
    listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any,
    options?: boolean | EventListenerOptions,
) => void
response: any

Returns the response body.

MDN Reference

responseText: string

Returns response as text.

Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text".

MDN Reference

responseType: XMLHttpRequestResponseType

Returns the response type.

Can be set to change the response type. Values are: the empty string (default), "arraybuffer", "blob", "document", "json", and "text".

When set: setting to "document" is ignored if current global object is not a Window object.

When set: throws an "InvalidStateError" DOMException if state is loading or done.

When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.

MDN Reference

responseURL: string
responseXML: null | Document

Returns the response as document.

Throws an "InvalidStateError" DOMException if responseType is not the empty string or "document".

MDN Reference

send: (body?: null | Document | XMLHttpRequestBodyInit) => void

Initiates the request. The body argument provides the request body, if any, and is ignored if the request method is GET or HEAD.

Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.

MDN Reference

setRequestHeader: (name: string, value: string) => void

Combines a header in author request headers.

Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.

Throws a "SyntaxError" DOMException if name is not a header name or if value is not a header value.

MDN Reference

status: number
statusText: string
timeout: number

Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the request has not yet completed, and this's synchronous flag is unset, a timeout event will then be dispatched, or a "TimeoutError" DOMException will be thrown otherwise (for the send() method).

When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.

MDN Reference

UNSENT: 0
upload: XMLHttpRequestUpload

Returns the associated XMLHttpRequestUpload object. It can be used to gather transmission information when data is transferred to a server.

MDN Reference

withCredentials: boolean

True when credentials are to be included in a cross-origin request. False when they are to be excluded in a cross-origin request and when cookies are to be ignored in its response. Initially false.

When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set.

MDN Reference