HttpRequest
Direct Subclass:
API for performing HTTP requests.
Example:
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.');
}
});
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 |
constructor(url: string) |
Member Summary
Public Members | ||
public |
request: * |
|
public get |
Get the parsed URL of the request. |
Method Summary
Public Methods | ||
public |
get(data: *): * Shortcut for |
|
public |
head(data: *): * Shortcut for |
|
public |
httpdelete(data: *): * Shortcut for |
|
public |
makeRequestBody(data: *): * Make request body from the provided data. |
|
public |
Creates a HttpResponse. |
|
public |
patch(data: *): * Shortcut for |
|
public |
post(data: *): * Shortcut for |
|
public |
put(data: *): * Shortcut for |
|
public |
send(method: *, data: *): * Send the request. |
|
public |
setDefaultRequestHeaders(method: *) Set default request headers. |
|
public |
setRequestHeader(header: *, value: *) Set a request header. |
|
public |
setTreatRedirectResponseAsError(treatRedirectResponseAsError: bool) Set how we treat 3xx responses. |
|
public |
Set the URL of the request. |
Public Constructors
public constructor(url: string) source
Params:
Name | Type | Attribute | Description |
url | string | The URL to request. If this is supplied, it is passed to HttpRequest#setUrl |
Public Members
public request: * source
Public Methods
public get(data: *): * source
Shortcut for send("get", data)
.
Params:
Name | Type | Attribute | Description |
data | * |
Return:
* |
See:
public head(data: *): * source
Shortcut for send("head", data)
.
Params:
Name | Type | Attribute | Description |
data | * |
Return:
* |
See:
public httpdelete(data: *): * source
Shortcut for send("delete", data)
.
Named httpdelete to avoid crash with builtin keyword delete
.
Params:
Name | Type | Attribute | Description |
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:
Name | Type | Attribute | Description |
data | * |
Return:
* |
public patch(data: *): * source
Shortcut for send("patch", data)
.
Params:
Name | Type | Attribute | Description |
data | * |
Return:
* |
See:
public post(data: *): * source
Shortcut for send("post", data)
.
Params:
Name | Type | Attribute | Description |
data | * |
Return:
* |
See:
public put(data: *): * source
Shortcut for send("put", data)
.
Params:
Name | Type | Attribute | Description |
data | * |
Return:
* |
See:
public send(method: *, data: *): * source
Send the request.
Params:
Name | Type | Attribute | Description |
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:
Name | Type | Attribute | Description |
method | * | The HTTP request method (GET, POST, PUT, ...). Will always be uppercase. |
public setRequestHeader(header: *, value: *) source
Set a request header.
Params:
Name | Type | Attribute | Description |
header | * | The header name. E.g.: |
|
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:
Name | Type | Attribute | Description |
treatRedirectResponseAsError | bool | Treat 3xx responses as errors? |
Example:
const request = HttpRequest('http://example.com/api/');
request.setTreatRedirectResponseAsError(false);