@appolo/http
v8.1.10
Published
appolo http module
Readme
Http Service module for appolo build with axios
Installation
npm i @appolo/httpin config/modules/all.ts
Options
| key | Description | Type | Default
| --- | --- | --- | --- |
| id | httpService injection id | string| httpService|
any option from Request Config can be added and will be added to all request.
import {HttpModule} from '@appolo/http';
export = async function (app: App) {
await app.module(new HttpModule({baseURL:"https://some-domain.com/api/",retry:2}));
}Usage
import {define, singleton,inject} from 'appolo'
import {publisher} from "@appolo/http";
@define()
@singleton()
export class SomeManager {
@inject httpService:HttpService
async getUserId(): Promise<string> {
let result = await this.httpService.request<{userId:string}>({
url:"http://someurl"
method:"post"
timeout:1000
retry:3
})
return result.data.userId
}
}Request Config
| key | Description | Type | Default
|---------------------|-------------------------------------------------------------------------------| --- | --- |
| url | request url | string| ``|
| method | is the request method to be used when making the request |string|get|
|baseURL |baseURLwill be prepended tourlunlessurlis absolute |string| `` |
|headers | custom headers |object|{}|
|params | are the URL parameters to be sent with the request |object|{}|
|data | the data to be sent as the request body |object|{}|
|timeout | specifies the number of milliseconds before the request times out |number|0|
|withCredentials | indicates whether or not cross-site Access-Control requests |boolean|false|
|auth | indicates that HTTP Basic auth should be used, and supplies credentials |object|{}|
|authDigest | indicates that HTTP Digest Auth should be used, and supplies credentials |object|{}|
|responseType | indicates the type of data that the server will respond with |string|json|
|responseEncoding | indicates encoding to use for decoding responses |string|utf8|
|maxRedirects | defines the maximum number of redirects to follow in node.js |number|5|
|retry | retry times on requests that return a response (500, etc) before giving up |number|0|
|noResponseRetries| etry times on errors that don't return a response (ENOTFOUND, ETIMEDOUT, etc) |number|0|
|retryDelay | Milliseconds to delay at first |number|100` |
