Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Base class in Coolio http package, which allows to perform API calls.
▪ T
Common body shape defined by bodyParser passed in HttpClientConfig.
HttpClient
+ new HttpClient(config
: HttpClientConfig‹T›): HttpClient
Parameters:
Returns: HttpClient
▸ addInterceptor(interceptor
: HttpInterceptor): this
Adds an interceptor to the client. Interceptor can be written either as class or as a function, which may mutate request options and post-process response from server. Multiple interceptors can be added to a single HttpClient. They can perform as:
cache
error handler
authorizer
logger
auto-retry
redirection handler
Parameters:
Returns: this
▸ delete<Body>(uri
: string, options?
: HttpOptions): Promise‹HttpResponse‹Body››
Performs a DELETE request.
Type parameters:
▪ Body: T
Parameters:
Returns: Promise‹HttpResponse‹Body››
▸ get<Body>(uri
: string, options?
: HttpOptions): Promise‹HttpResponse‹Body››
Performs a GET request.
Type parameters:
▪ Body: T
Parameters:
Returns: Promise‹HttpResponse‹Body››
▸ patch<Body>(uri
: string, options?
: HttpOptions): Promise‹HttpResponse‹Body››
Performs a PATCH request.
Type parameters:
▪ Body: T
Parameters:
Returns: Promise‹HttpResponse‹Body››
▸ post<Body>(uri
: string, options?
: HttpOptions): Promise‹HttpResponse‹Body››
Performs a POST request.
Type parameters:
▪ Body: T
Parameters:
Returns: Promise‹HttpResponse‹Body››
▸ put<Body>(uri
: string, options?
: HttpOptions): Promise‹HttpResponse‹Body››
Performs a PUT request.
Type parameters:
▪ Body: T
Parameters:
Returns: Promise‹HttpResponse‹Body››
▸ remove<Body>(uri
: string, options?
: HttpOptions): Promise‹HttpResponse‹any››
Performs a DELETE request.
deprecated
Use delete instead of remove, since it matches HTTP request method.
Type parameters:
▪ Body: T
Parameters:
Returns: Promise‹HttpResponse‹any››
▸ request<Body>(url
: string, options
: HttpRequestOptions): Promise‹HttpResponse‹Body››
Type parameters:
▪ Body: T
Parameters:
Returns: Promise‹HttpResponse‹Body››
Name | Type |
---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type | Description |
---|---|---|
Name | Type |
---|---|
config
interceptor
Interceptor that will process every request/response in this HttpClient.
uri
string
Address of HTTP endpoint
options?
Additional HttpOptions passed with request
uri
string
Address of HTTP endpoint
options?
Additional HttpOptions passed with request
uri
string
Address of HTTP endpoint
options?
Additional HttpOptions passed with request
uri
string
Address of HTTP endpoint
options?
Additional HttpOptions passed with request
uri
string
Address of HTTP endpoint
options?
Additional HttpOptions passed with request
uri
string
Address of HTTP endpoint
options?
Additional HttpOptions passed with request
url
string
options
Networking client for Node.js, React Native & browser web apps
Coolio is an environment-agnostic networking client for Node.js, React Native & browser web apps. The aim of Coolio is to abstract out the technical stuff and let developers query APIs in DRY manner. Usually such approach makes simple things easier while making complex use-cases impossible. Coolio gives users more control over networking, allowing to customize almost every step of it's networking pipeline:
sending and handling requests,
body normalization,
pre and postprocessing.
This is achieved by using interceptors concept and providing pluggable interfaces whenever possible.
Coolio is broken down into several packages, allowing you to pick what's really needed.
Most important yarn
scripts during development:
start
- runs builds for all packages in watch mode
verify
- runs lint & tests
▪ T
↳ HttpRequestError
+ new HttpRequestError(options
: NormalizedHttpOptions, message?
: undefined | string): HttpRequestError
Parameters:
Returns: HttpRequestError
• message: string
Inherited from HttpRequestError.message
• name: string
Inherited from HttpRequestError.name
• options: NormalizedHttpOptions
Optional
stack• stack? : undefined | string
Inherited from HttpRequestError.stack
Overrides HttpRequestError.stack
Static
Error▪ Error: ErrorConstructor
Create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.
CFormData
+ new CFormData(data?
: any): CFormData
Parameters:
Returns: CFormData
Static
DEFAULT_CONTENT_TYPE▪ DEFAULT_CONTENT_TYPE: string = "application/octet-stream"
Static
LINE_BREAK▪ LINE_BREAK: string = " "
▸ append(name
: string, value
: any, meta?
: CFormDataEntryMetadata): void
Parameters:
Returns: void
▸ delete(name
: string): void
Parameters:
Returns: void
▸ forEach(callbackfn
: function): void
Parameters:
▪ callbackfn: function
▸ (value
: CFormDataValue, key
: string, parent
: CFormData): void
Parameters:
Returns: void
▸ get(name
: string): CFormDataValue | null
Parameters:
Returns: CFormDataValue | null
▸ getAll(name
: string): CFormDataValue[]
Parameters:
Returns: CFormDataValue[]
▸ getBoundary(): string
Returns: string
▸ getBuffer(): Promise‹Buffer›
Returns: Promise‹Buffer›
▸ getHeaders(): object
Returns: object
content-type: string = 'multipart/form-data; boundary=' + this.getBoundary()
▸ has(name
: string): boolean
Parameters:
Returns: boolean
▸ pipe(writable
: Writable): void
Parameters:
Returns: void
▸ set(name
: string, value
: CFormDataValue | Blob, meta?
: CFormDataEntryMetadata): void
Parameters:
Returns: void
▸ toString(): string
Returns: string
Static
from▸ from(data
: any, __namedParameters
: object): FormData | CFormData
Parameters:
▪ data: any
▪Default value
__namedParameters: object= {}
Returns: FormData | CFormData
Static
isFormData▸ isFormData(data
: any): data is FormData | CFormData
Parameters:
Returns: data is FormData | CFormData
HttpResponseHeaders
+ new HttpResponseHeaders(headers
: IncomingHttpHeaders | HttpHeaders | Headers | string): HttpResponseHeaders
Parameters:
Returns: HttpResponseHeaders
• map: Record‹string, string›
▸ get(key
: string): undefined | string
Parameters:
Returns: undefined | string
▸ set(key
: string, value
: any): void
Parameters:
Returns: void
Ƭ BodyParser: function
Parameters:
Ƭ BodyParserImplementation: function
Parameters:
Ƭ BodySerializer: function
Parameters:
Ƭ BufferEncoding: "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex"
Ƭ CFormDataValue: string | Blob | Readable
Ƭ CaseConverter: function
▸ (object
: any): any
Parameters:
Ƭ ContentTypeMap: Record‹keyof typeof ContentTypeRegex, T›
Ƭ HttpFetch: function
Ƭ HttpHeaders: Record‹string, string | number | boolean | undefined | null›
Ƭ HttpInterceptorFunction: function
Type parameters:
▪ Body
Parameters:
Ƭ HttpRequestHandler: function
Parameters:
Ƭ PromiseFunction: function
▸ (): Promise‹T›
Ƭ RequestMode: "navigate" | "same-origin" | "no-cors" | "cors"
Const
DEFAULT_REQUEST_TIMEOUT_MS• DEFAULT_REQUEST_TIMEOUT_MS: number = 5 * 60 * 1000
Default request timeout - 5 minutes.
Const
DONE• DONE: 4 = 4
Const
HEADERS_RECEIVED• HEADERS_RECEIVED: 2 = 2
Const
SUPPORTS_BROWSER_FORM_DATA• SUPPORTS_BROWSER_FORM_DATA: boolean = (() => { try { return !({} instanceof FormData); } catch { return false; } })()
• TypedArray: any
Const
symbol• symbol: unique symbol = Symbol('HttpResponseError')
Const
bodyParserParameters:
▪Default value
__namedParameters: object= {}
Const
bodySerializerParameters:
▪Default value
__namedParameters: object= {}
Const
cacheParsedBodyThis is not a regular cache! This function is only used across subsequent executions of parsedBody() on a single HttpResponse. To implement cache, make use of interceptors.
Type parameters:
▪ T
Parameters:
a promise function returning body, it can be called many times
Const
createAsyncBodyHandler▸ createAsyncBodyHandler<T>(): object
Type parameters:
▪ T
Returns: object
call(): Promise‹T›
onBodyFailure(failer
: function): void
onBodyReceived(getter
: function): void
Const
createErrorInterceptorConst
createHttpResponseParameters:
▪ __namedParameters: object
Const
createLoggingInterceptorParameters:
▪ __namedParameters: object
Const
createRedirectionInterceptorParameters:
▪Default value
__namedParameters: object= {}
Const
createSimpleServerConst
deepKeyMap▸ deepKeyMap(object
: any, mapper
: function): any
Parameters:
▪ object: any
▪ mapper: function
▸ (key
: string): string
Parameters:
Returns: any
Const
defaultHeaders▸ defaultHeaders(_host
: string): object
Parameters:
Returns: object
Accept: string = "application/json,application/vnd.api+json"
Const
encodeArrayBufferParameters:
Returns: Uint8Array‹›
Const
encodeText▸ encodeText(buffer
: ArrayBuffer, encoding
: string): string
Parameters:
Returns: string
Const
fetchRequestHandlerParameters:
Const
getBoundaryFromContentTypeHeader▸ getBoundaryFromContentTypeHeader(header
: string[]): string
Parameters:
Returns: string
Const
getCaseConverterParameters:
Returns: toCamelCase
Const
getEncodingFromHeadersParameters:
Returns: string
Const
getFileMetaParameters:
Returns: object | object
Const
getHeaderParameters:
Returns: string | undefined
Const
getHostname▸ getHostname(url
: string): string
Parameters:
Returns: string
Const
handleRequestParameters:
Const
httpRequestHandlerParameters:
Const
isBlob▸ isBlob(value
: any): value is Blob
Parameters:
Returns: value is Blob
Const
isBrowserFormData▸ isBrowserFormData(value
: any): value is FormData
Parameters:
Returns: value is FormData
Const
isHttpInterceptorInterfaceParameters:
Returns: interceptor is HttpInterceptorInterface
Const
isHttpRequestError▸ isHttpRequestError(error
: any): error is HttpRequestError
Parameters:
Returns: error is HttpRequestError
Const
isHttpResponseError▸ isHttpResponseError(error
: any): error is HttpResponseError
Parameters:
Returns: error is HttpResponseError
Const
mockRequestHandlerParameters:
Const
noConversion▸ noConversion(object
: any): any
Parameters:
Returns: any
Const
parseHeaders▸ parseHeaders(headers
: Headers): Record‹string, string›
Parameters:
Returns: Record‹string, string›
Const
processMultipartBody▸ processMultipartBody(body
: string, boundary
: string): never
Parameters:
Returns: never
Const
readBlob▸ readBlob(blob
: Blob): Promise‹Buffer›
Parameters:
Returns: Promise‹Buffer›
Const
sanitizeHeaders▸ sanitizeHeaders(...multipleHeaders
: undefined | object[]): Record‹string, string›
Parameters:
Returns: Record‹string, string›
Const
sleep▸ sleep(ms
: number): Promise‹unknown›
Parameters:
Returns: Promise‹unknown›
Const
splitWords▸ splitWords(text
: string): string[]
Parameters:
Returns: string[]
Type parameters:
▪ T
Parameters:
Returns: T
Type parameters:
▪ T
Parameters:
Returns: T | undefined
Const
toCamelCase▸ toCamelCase(object
: any): any
Parameters:
Returns: any
Const
toKebabCase▸ toKebabCase(object
: any): any
Parameters:
Returns: any
Const
toPascalCase▸ toPascalCase(object
: any): any
Parameters:
Returns: any
Const
toScreamingSnakeCase▸ toScreamingSnakeCase(object
: any): any
Parameters:
Returns: any
Const
toSnakeCase▸ toSnakeCase(object
: any): any
Parameters:
Returns: any
Const
toUrlEncoded▸ toUrlEncoded(obj
: object): string
Parameters:
Returns: string
Const
urlCombine▸ urlCombine(sourceUrl
: string, sourceQuery?
: undefined | object, options?
: qs.IStringifyOptions): string
Parameters:
Returns: string
Const
urlDecode▸ urlDecode<T>(value
: string, options?
: qs.IParseOptions): T
Type parameters:
▪ T
Parameters:
Returns: T
Const
urlDestruct▸ urlDestruct(url
: string, options?
: qs.IParseOptions): object
Parameters:
Returns: object
query: any
url: string
Const
urlEncode▸ urlEncode(value
: any, options?
: qs.IStringifyOptions): string
Parameters:
Returns: string
Const
useInterceptorParameters:
Returns: (Anonymous function)
Const
xhrRequestHandlerParameters:
Const
ContentTypeRegex• JSON: RegExp‹› = /^application/(json|.++json)$/
• MULTIPART: RegExp‹› = /^multipart//
• TEXT: RegExp‹› = /^text//
• URL_ENCODED: RegExp‹› = /^application/x-www-form-urlencoded$/
Const
HttpClientHelper• getHostname: getHostname
Const
HttpStatusText• __computed: string = "Network Authentication Required"
Const
Interceptors• createErrorInterceptor: createErrorInterceptor
• createLoggingInterceptor: createLoggingInterceptor
• createRedirectionInterceptor: createRedirectionInterceptor
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type |
---|---|
Name | Type | Default |
---|---|---|
Name | Type |
---|---|
Name | Type |
---|---|
▸ (response
: ): ‹T›
Name | Type |
---|
▸ (rawResponse
: ): Promise‹any›
Name | Type |
---|
▸ (request
: ):
Name | Type |
---|
Name | Type |
---|
Ƭ HttpBody: object | | string
▸ (): Promise‹‹Body››
Ƭ HttpInterceptor: |
▸ <Body>(request
: ‹Body›, options
: ): ‹Body›
Name | Type |
---|
Ƭ HttpOptions: Partial‹›
▸ (requestOptions
: ): Promise‹›
Name | Type |
---|
Ƭ MockHttpRequestHandler: & object
Ƭ NormalizedHttpBody: FormData | | | string | undefined
▸ bodyParser(__namedParameters
: object): ‹any›
Name | Type |
---|
Returns: ‹any›
▸ bodySerializer(__namedParameters
: object):
Name | Type |
---|
Returns:
▸ cacheParsedBody<T>(parsedBody
: ‹T›): ‹T›
Name | Type | Description |
---|
Returns: ‹T›
▸ createErrorInterceptor():
Returns:
▸ createHttpResponse(__namedParameters
: object):
Name | Type | Default |
---|
Returns:
▸ createLoggingInterceptor(__namedParameters
: object):
Name | Type |
---|
Returns:
▸ createRedirectionInterceptor(__namedParameters
: object):
Name | Type | Default |
---|
Returns:
▸ createSimpleServer():
Returns:
Name | Type |
---|
Name | Type | Default |
---|
Content-Type: = ContentType.JSON
▸ encodeArrayBuffer(data
: | string | undefined, encoding
: ): Uint8Array‹›
Name | Type | Default |
---|
Name | Type | Default |
---|
▸ fetchRequestHandler(fetchRequestHandlerOptions
: ):
Creates a new that uses underneath. Does not support timeout property. Abort is possible only after headers were received.
Name | Type | Default | Description |
---|
Returns:
Name | Type |
---|
▸ getCaseConverter(bodyCasing?
: ): toCamelCase
Name | Type |
---|
▸ getEncodingFromHeaders(headers
: | undefined, fallback
: string): string
Name | Type | Default |
---|
▸ getFileMeta(value
: Blob | Readable, existingMeta?
: ): object | object
Name | Type |
---|
▸ getHeader(headers
: | undefined, header
: string): string | undefined
Name | Type |
---|
Name | Type |
---|
▸ handleRequest(code
: number, body
: any, contentType
: string): Promise‹›
Name | Type | Default |
---|
Returns: Promise‹›
▸ httpRequestHandler(requestHandlerOptions
: ):
Creates a new that uses native Node.js & modules underneath. Does not support mode property.
Name | Type | Default | Description |
---|
Returns:
Name | Type |
---|
Name | Type |
---|
▸ isHttpInterceptorInterface(interceptor
: ): interceptor is HttpInterceptorInterface
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
▸ mockRequestHandler(mockOptions
: ):
Name | Type |
---|
Returns:
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
▸ switchContentType<T>(contentType
: string, map
: ‹T›, defaultResult
: T): T
Name | Type |
---|
▸ switchContentType<T>(contentType
: string, map
: ‹T›): T | undefined
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
Name | Type |
---|
▸ useInterceptor(normalizedOptions
: ): (Anonymous function)
Name | Type |
---|
▸ xhrRequestHandler(_?
: ):
Name | Type |
---|
Returns:
• defaultHeaders:
• toUrlEncoded:
+ new HttpResponseError(response
: ‹T›, message?
: undefined | string):
Name | Type |
---|
Returns:
Inherited from .
Inherited from .
• response: ‹T›
Inherited from .
Overrides .
• status:
Package
Description
Auth Interceptor with OAuth2 refresh token support for @coolio/http
HTTP networking client
JSON API client
options
message?
undefined | string
data?
any
name
string
value
any
meta?
name
string
value
key
string
parent
name
string
name
string
name
string
writable
Writable
name
string
value
CFormDataValue | Blob
meta?
forceImplementation
undefined | "native" | "custom"
data
any
headers
IncomingHttpHeaders | HttpHeaders | Headers | string
{}
key
string
key
string
value
any
| any |
| function |
| number | 30 |
| string |
| string | "" |
| ArrayBuffer | - |
| string | "utf8" |
| string[] |
| string |
| number | - |
| any | - |
| string | ContentType.TEXT |
| any |
| any |
| any |
| any |
| any |
| Headers |
| string |
| string |
| Blob |
| undefined | object[] |
| number |
| string |
| any |
| any |
| any |
| any |
| any |
| object |
| string |
| undefined | object |
| qs.IStringifyOptions |
| string |
| qs.IParseOptions |
| string |
| qs.IParseOptions |
| any |
| qs.IStringifyOptions |
|
|
|
|
|
|
|
| undefined | function |
|
|
| a promise function returning parsed body, which in most cases can be called only once |
| undefined | string | Uint8Array‹› | Uint8ClampedArray‹› | Uint16Array‹› | Uint32Array‹› | Int8Array‹› | Int16Array‹› | Int32Array‹› | Float32Array‹› | Float64Array‹› | - |
| - |
| undefined | object | - |
| number | - |
| string | "" |
| "" |
| "utf8" |
| {} | default Fetch API options attached to all requests |
|
| - |
| string | "utf8" |
| Blob | Readable |
|
|
| string |
| {} | default native options attached to all requests |
|
|
| string |
|
| T |
| string |
|
|
|
|
| undefined | string |
‹Body›
undefined | | | | |
undefined | | | | |
‹T›
| string | undefined
| undefined
| undefined
‹T›
‹T›
‹T›