Home Reference Source Test
import HTTP from 'kinto-http/lib/http.js'
private class | source

HTTP

Enhanced HTTP client for the Kinto protocol.

Test:

Static Member Summary

Static Public Members
public static get

Default HTTP request headers applied to each outgoing request.

public static get

defaultOptions: Object

Default options.

Constructor Summary

Public Constructor
public

constructor(events: EventEmitter, options: Object)

Constructor.

Member Summary

Public Members
public

events: *

public

requestMode: String

The request mode.

public

timeout: Number

The request timeout.

Method Summary

Public Methods
public

async request(url: String, request: Object, options: Object): Promise

Performs an HTTP request to the Kinto server.

Private Methods
private

_checkForBackoffHeader(status: *, headers: *)

private
private

_checkForRetryAfterHeader(status: *, headers: *): *

private

async processResponse(response: *): {"status": *, "json": *, "headers": *}

private

async retry(url: *, retryAfter: *, request: *, options: *): *

private

timedFetch(url: *, options: *): *

Static Public Members

public static get DEFAULT_REQUEST_HEADERS: Object source

Default HTTP request headers applied to each outgoing request.

public static get defaultOptions: Object source

Default options.

Public Constructors

public constructor(events: EventEmitter, options: Object) source

Constructor.

Params:

NameTypeAttributeDescription
events EventEmitter

The event handler.

options Object
  • optional
  • default: {}} The options object.
options.timeout Number
  • optional
  • default: null

The request timeout in ms, if any (default: null).

options.requestMode String
  • optional
  • default: "cors"

The HTTP request mode (default: "cors").

Test:

Public Members

public events: * source

public requestMode: String source

The request mode.

See:

public timeout: Number source

The request timeout.

Public Methods

public async request(url: String, request: Object, options: Object): Promise source

Performs an HTTP request to the Kinto server.

Resolves with an objet containing the following HTTP response properties:

  • {Number} status The HTTP status code.
  • {Object} json The JSON response body.
  • {Headers} headers The response headers object; see the ES6 fetch() spec.

Params:

NameTypeAttributeDescription
url String

The URL.

request Object
  • optional
  • default: {}

The request object, passed to fetch() as its options object.

request.headers Object
  • optional

The request headers object (default: {})

options Object
  • optional
  • default: {}

Options for making the request

options.retry Number
  • optional

Number of retries (default: 0)

Return:

Promise

Test:

Private Methods

private _checkForBackoffHeader(status: *, headers: *) source

Params:

NameTypeAttributeDescription
status *
headers *

private _checkForDeprecationHeader(headers: *) source

Params:

NameTypeAttributeDescription
headers *

private _checkForRetryAfterHeader(status: *, headers: *): * source

Params:

NameTypeAttributeDescription
status *
headers *

Return:

*

private async processResponse(response: *): {"status": *, "json": *, "headers": *} source

Params:

NameTypeAttributeDescription
response *

Return:

{"status": *, "json": *, "headers": *}

private async retry(url: *, retryAfter: *, request: *, options: *): * source

Params:

NameTypeAttributeDescription
url *
retryAfter *
request *
options *

Return:

*

private timedFetch(url: *, options: *): * source

Params:

NameTypeAttributeDescription
url *
options *

Return:

*