Skip to content
Last updated

API / geotoolkit / http / AbstractHttpService / AbstractHttpService

Class: AbstractHttpService

http.AbstractHttpService.AbstractHttpService

Provide an abstract service for HTTP requests

Example

// Cancellation of request from external token
import {Cancel} from '@int/geotoolkit/util/Cancel';
...
const token = new Cancel();
http.get('/cancel', {
'cancel': token
}).then( (response) => { ... }, (error) => {
// TODO: Cancel
}).catch((error) => { ... });
setTimeout(() => {
token.cancel();
});

Table of contents

Constructors
  • [new AbstractHttpService(options)](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.http.abstracthttpservice.abstracthttpservice.md#new abstracthttpservice(options))
Methods

Contents

Constructors

new AbstractHttpService(options)

• Protected new AbstractHttpService(options?)

Parameters

Name Type
Optional optionsOptions
Methods

addRequestInterceptor

▸ addRequestInterceptor(onFulfilled, onRejected?): string

Add request interceptor

Example

// Add request interceptor
import {deepMergeObject} from '@int/geotoolkit/base';
http.addRequestInterceptor((options) => {
return new Promise((resolve, reject) => {
const newOptions = deepMergeObject({'headers': {
'Authorization': 'Bearer ' + token
}}, options, true);
resolve(newOptions);
});
}, (error) => Promise.reject(error)
);

Parameters

Name Type Description
onFulfilled(options: any) => Promise<any&gt;on fulfilled function to be called in promise
Optional onRejected(reason: Error) => Promise<any&gt;on function to be called in promise if it is rejected

Returns

string

id of the interceptor, which can be used to delete


addResponseInterceptor

▸ addResponseInterceptor(onFulfilled, onRejected?): string

Add response interceptor

Example

// Add response interceptor
http.addResponseInterceptor(function (response) {
return new Promise((resolve, reject) =&gt; {
// TODO with response
resolve(response);
});
}, (error) =&gt; Promise.reject(error) );

Parameters

Name Type Description
onFulfilled(options: any) => Promise<any&gt;on fulfilled function to be called in promise
Optional onRejected(reason: Error) => Promise<any&gt;on function to be called in promise if it is rejected

Returns

string

id of the interceptor, which can be used to delete


clone

▸ Abstract clone(options?): AbstractHttpService

Create an instance of a new service with new default settings

Parameters

Name Type Description
Optional optionsOptionsoptions

Returns

AbstractHttpService


containsRequestInterceptor

▸ containsRequestInterceptor(id): boolean

Verify if request interceptor with specified id exists

Parameters

Name Type Description
idstringid of interceptor to verify

Returns

boolean


containsResponseInterceptor

▸ containsResponseInterceptor(id): boolean

Verify if response interceptor with specified id exists

Parameters

Name Type Description
idstringid of interceptor to verify

Returns

boolean


delete

▸ delete(url, options?): Promise<any&gt;

Send delete request

Parameters

Name Type Description
urlstringurl
Optional optionsRequestOptionsoptions

Returns

Promise<any&gt;


dispatch

▸ Protected Abstract dispatch(options?): Promise<any&gt;

Dispatch request

See

Parameters

Name Type Description
Optional optionsRequestOptionsoptions

Returns

Promise<any&gt;


get

▸ get(url, options?): Promise<any&gt;

Send get request

Example

// make a simple GET request
http.get(url).then((response) =&gt; {
// Process data
}, (error) =&gt; {
// Error
});

Example

// make GET request and transform output
http.get(url, {
'responsetype': 'json',
'transformresponse': (response) =&gt; {
if (response&#91;'data'&#93;&#91;'version'&#93; != null) {
return Promise.resolve(response&#91;'data'&#93;);
}
return Promise.reject('Server error');
}
}).then((data) =&gt; {
// Process data
}, (error) =&gt; {
// Error
});

Parameters

Name Type Description
urlstringurl
Optional optionsRequestOptionsoptions

Returns

Promise<any&gt;


getClassName

▸ getClassName(): string

Returns

string


getOptions

▸ getOptions(): Options

Gets a default options

Returns

Options

options all options keys are case insensitive. It will be transformed to lowercase


getRequestInterceptors

▸ Protected getRequestInterceptors(): any[]

Returns

any[]


getResponseInterceptors

▸ Protected getResponseInterceptors(): any[]

Returns

any[]


▸ head(url, options?): Promise<any&gt;

Send head request

Parameters

Name Type Description
urlstringurl
Optional optionsRequestOptionsoptions

Returns

Promise<any&gt;


mergeOptions

▸ Protected mergeOptions<T&gt;(options): T

Type parameters

NameType
Textends Record<string, any&gt; = Record<string, any&gt;

Parameters

Name Type Description
optionsToptions to merge

Returns

T

merged options


patch

▸ patch(url, data, options?): Promise<any&gt;

Send patch request

Parameters

Name Type Description
urlstringurl
dataanydata to be sent as the request message data.
Optional optionsRequestOptionsoptions

Returns

Promise<any&gt;


post

▸ post(url, data, options?): Promise<any&gt;

Send post request

Example

// make a simple POST request
http.post(url, data).then((response) =&gt; {
// Process data
}, (error) =&gt; {
// Error
});

Parameters

Name Type Description
urlstringurl
dataanydata to be sent as the request message data.
Optional optionsRequestOptionsoptions

Returns

Promise<any&gt;


put

▸ put(url, data, options?): Promise<any&gt;

Send put request

Parameters

Name Type Description
urlstringurl
dataanydata to be sent as the request message data.
Optional optionsRequestOptionsoptions

Returns

Promise<any&gt;


removeRequestInterceptor

▸ removeRequestInterceptor(id): boolean

Remove interceptor

Parameters

Name Type Description
idstringid of interceptor to remove

Returns

boolean

true if interceptor is removed


removeResponseInterceptor

▸ removeResponseInterceptor(id): boolean

Remove response interceptor

Parameters

Name Type Description
idstringid of interceptor to remove

Returns

boolean

true if interceptor is removed


request

▸ request(options?): Promise<any&gt;

Send request It is necessary to specify baseUrl, url or both to make request. This method return promise to execute query. <p>Response object contains:</p> <ul> <li>data: response data</li> <li>options: provided options </li> <li>status: as a rule response status of response<li> <li>statusText: status text<li> <li>request: an instance of request</li> </ul>

See

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials|withCredentials

Example

// make a simple GET request
http.request({ method: 'get', 'url': url ).then((response) =&gt; {
// Process data
}, (error) =&gt; {
// Error
});

Parameters

Name Type Description
Optional optionsRequestOptionsoptions all options keys are case insensitive

Returns

Promise<any&gt;


setOptions

▸ setOptions(options?): void

Sets default options for the current instance of the service

Parameters

Name Type Description
Optional optionsOptionsoptions all options keys are case insensitive

Returns

void


getClassName

▸ Static getClassName(): string

Returns

string