Home Manual Reference Source
import HttpRequest from 'ievv_jsbase/http/HttpRequest.js'
public class | source

HttpRequest

Direct Subclass:

JsonHttpRequest

API for performing HTTP requests.

Example:

Make a POST request
const request = new HttpRequest('http://example.com/api/users/');
request.post('Hello world').then((response) => {
    // Success - response is a HttpResponse object.
    console.log(response.toPrettyString());
    if(response.isSuccess()) {
        console.log('Success: ', response.body);
    } else if (response.isRedirect) {
        console.log('Hmm strange, we got a redirect instead of a 2xx response.');
    }
}, (response) => {
    // Error - response is a HttpResponse object.
    console.error(response.toPrettyString());
    if(response.isRedirect()) {
        // Yes - redirect is treated as an error by default.
        // you can change this by supplying an extra argument
        // to HttpResponse()
        console.log('We got a 3xx response!', response.body);
    } else if(response.isClientError()) {
        console.log('We got a 4xx response!', response.body);
    } else if (response.isServerError()) {
        console.log('We got a 5xx response!', response.body);
    } else if (response.isConnectionRefused()) {
        console.log('Connection refused.');
    }
});
Make a GET request with a querystring
const request = new HttpRequest('http://example.com/api/users/');
request.urlParser.queryString.set('search', 'doe');
request.get().then((response) => {
    // Success - response is a HttpResponse object.
    console.log(response.toPrettyString());
}, (response) => {
    // Error - response is a HttpResponse object.
    console.error(response.toPrettyString());
});

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public

request: *

public get

Get the parsed URL of the request.

Method Summary

Public Methods
public

get(data: *): *

Shortcut for send("get", data).

public

head(data: *): *

Shortcut for send("head", data).

public

httpdelete(data: *): *

Shortcut for send("delete", data).

public

makeRequestBody(data: *): *

Make request body from the provided data.

public

Creates a HttpResponse.

public

patch(data: *): *

Shortcut for send("patch", data).

public

post(data: *): *

Shortcut for send("post", data).

public

put(data: *): *

Shortcut for send("put", data).

public

send(method: *, data: *): *

Send the request.

public

Set default request headers.

public

setRequestHeader(header: *, value: *)

Set a request header.

public

setTreatRedirectResponseAsError(treatRedirectResponseAsError: bool)

Set how we treat 3xx responses.

public

setUrl(url: String)

Set the URL of the request.

Public Constructors

public constructor(url: string) source

Params:

NameTypeAttributeDescription
url string

The URL to request. If this is supplied, it is passed to HttpRequest#setUrl

Public Members

public request: * source

public get urlParser: UrlParser: * source

Get the parsed URL of the request.

Return:

UrlParser

The UrlParser for the parsed URL.

Public Methods

public get(data: *): * source

Shortcut for send("get", data).

Params:

NameTypeAttributeDescription
data *

Return:

*

See:

public head(data: *): * source

Shortcut for send("head", data).

Params:

NameTypeAttributeDescription
data *

Return:

*

See:

public httpdelete(data: *): * source

Shortcut for send("delete", data).

Named httpdelete to avoid crash with builtin keyword delete.

Params:

NameTypeAttributeDescription
data *

Return:

*

See:

public makeRequestBody(data: *): * source

Make request body from the provided data.

By default this just returns the provided data, but subclasses can override this to perform automatic conversion.

Must return a string.

Params:

NameTypeAttributeDescription
data *

Return:

*

public makeResponse(): HttpResponse source

Creates a HttpResponse.

Return:

HttpResponse

public patch(data: *): * source

Shortcut for send("patch", data).

Params:

NameTypeAttributeDescription
data *

Return:

*

See:

public post(data: *): * source

Shortcut for send("post", data).

Params:

NameTypeAttributeDescription
data *

Return:

*

See:

public put(data: *): * source

Shortcut for send("put", data).

Params:

NameTypeAttributeDescription
data *

Return:

*

See:

public send(method: *, data: *): * source

Send the request.

Params:

NameTypeAttributeDescription
method *

The HTTP method. I.e.: "get", "post", ...

data *

Request body data. This is sent through HttpRequest#makeRequestBody before it is sent.*

Return:

*

A Promise where both the

public setDefaultRequestHeaders(method: *) source

Set default request headers.

Does nothing by default, but subclasses can override this.

Params:

NameTypeAttributeDescription
method *

The HTTP request method (GET, POST, PUT, ...). Will always be uppercase.

public setRequestHeader(header: *, value: *) source

Set a request header.

Params:

NameTypeAttributeDescription
header *

The header name. E.g.: "Content-type".

value *

The header value.

public setTreatRedirectResponseAsError(treatRedirectResponseAsError: bool) source

Set how we treat 3xx responses.

By default they are treated as errors, but you can change this behavior by calling this function.

Params:

NameTypeAttributeDescription
treatRedirectResponseAsError bool

Treat 3xx responses as errors?

Example:

Do not treat 3xx responses as error
const request = HttpRequest('http://example.com/api/');
request.setTreatRedirectResponseAsError(false);

public setUrl(url: String) source

Set the URL of the request.

Params:

NameTypeAttributeDescription
url String

The URL.