@appolo/http

appolo http module

Usage no npm install needed!

<script type="module">
  import appoloHttp from 'https://cdn.skypack.dev/@appolo/http';
</script>

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 baseURL will be prepended to url unless url is 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 {}
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