Skip to content

editor › Globals › ThrottledHttpRequest

Class: ThrottledHttpRequest

Wraps HttpRequest so that only a well defined number of requests are actually active and the rest is queued internally. Allows for cancelling un-sent requests. The external interface is based on HttpRequest

Hierarchy

  • ThrottledHttpRequest

Index

Constructors

Properties

Methods

Constructors

constructor

+ new ThrottledHttpRequest(maxConcurrentRequests: number): ThrottledHttpRequest

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:24

Parameters:

Name Type Default Description
maxConcurrentRequests number 4 @see ThrottledHttpRequest#setMaxConcurrentRequests

Returns: ThrottledHttpRequest

Properties

Private maxConcurrentRequests

• maxConcurrentRequests: number = 0

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:18


Private ongoingRequests

• ongoingRequests: IRequestObject[] = []

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:24


Private requestQueue

• requestQueue: IRequestObject[] = []

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:21

Methods

Private _enqueueRequest

▸ _enqueueRequest(baseMethod: function): any

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:71

Parameters:

▪ baseMethod: function

▸ (): Promise‹any›

Returns: any


Private _enqueueRequestAndUpdate

▸ _enqueueRequestAndUpdate(method: function): any

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:65

Parameters:

▪ method: function

▸ (): Promise‹any›

Returns: any


Private _removeFromQueue

▸ _removeFromQueue(requestObject: any): void

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:105

Parameters:

Name Type
requestObject any

Returns: void


Private _startRequest

▸ _startRequest(requestObject: IRequestObject): void

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:112

Parameters:

Name Type
requestObject IRequestObject

Returns: void


Private _updateQueue

▸ _updateQueue(): void

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:98

Returns: void


get

▸ get(path: string, responseType?: XMLHttpRequestResponseType, timeout?: number): any

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:45

Parameters:

Name Type
path string
responseType? XMLHttpRequestResponseType
timeout? number

Returns: any


getMaxConcurrentRequests

▸ getMaxConcurrentRequests(): number

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:41

Returns: number


patch

▸ patch(path: string, json: any, responseType?: XMLHttpRequestResponseType, timeout?: number): any

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:60

Parameters:

Name Type
path string
json any
responseType? XMLHttpRequestResponseType
timeout? number

Returns: any


postBinaryData

▸ postBinaryData(path: string, data: BodyInit, responseType?: XMLHttpRequestResponseType, timeout?: number): any

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:55

Parameters:

Name Type
path string
data BodyInit
responseType? XMLHttpRequestResponseType
timeout? number

Returns: any


postJson

▸ postJson(path: string, json: any, responseType?: XMLHttpRequestResponseType, timeout?: number): any

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:50

Parameters:

Name Type
path string
json any
responseType? XMLHttpRequestResponseType
timeout? number

Returns: any


setMaxConcurrentRequests

▸ setMaxConcurrentRequests(maxConcurrentRequests: number): void

Defined in src/util/HttpRequest/ThrottledHttpRequest.ts:37

Parameters:

Name Type Description
maxConcurrentRequests number - The number of requests that may be active at any time

Returns: void