@appolo/http
v8.1.10
Published
appolo http module
Downloads
781
Readme
Http Service module for appolo
build with axios
Installation
npm i @appolo/http
in 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 to
urlunless
urlis 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` |