@rbipin/http-client
v1.0.1
Published
A simple wrapper around axio http client with auth token management
Downloads
2
Readme
http-client
A wrapper over axios http client to make authentication and token management easier
Authors
Documentation
Use the HttpClientFactory to create a HttpClient.
The createClient method of the HttpClientFactory takes a HttpConfiguration object.
HttpConfiguration interface can be used to configure the HttpClient, like setting up the base url for the HttpClient.
If HttpConfiguration is not passed then the basic HttpClient` is returned
Usage for a simple HttpClient
const httpConfig: HttpConfiguration = {
baseUrl: 'http://localhost:3000',
};
const httpClientFac = new HttpClientFactory();
const httpClient = httpClientFac.CreateClient(httpConfig); // basic http client
const response: HttpResponse<Data> = await httpClient.get('/posts/1');Usage for a Client with OAuth
const basicAuthConfig: basicAuthConfig = new BasicAuthConfig (
'http://localhost:4200/api-token',
'<client id>',
'<client secret>'
);
const httpConfig: HttpConfiguration = {
baseUrl: 'http://localhost:3000',
authConfig: oauthConfig,
};
const httpClientFac = new HttpClientFactory();
const httpClient = httpClientFac.CreateClient(httpConfig); // basic auth client
const response: HttpResponse<Data> = await httpClient.get('/posts/1');Usage for a Client with OAuth
const oauthConfig: OAuthConfig = new OAuthConfig (
'http://localhost:4200/api-token',
'<client id>',
'<client secret>',
'<audience>',
'<scope[]>'
);
const httpConfig: HttpConfiguration = {
baseUrl: 'http://localhost:3000',
authConfig: oauthConfig,
};
const httpClientFac = new HttpClientFactory();
const httpClient = httpClientFac.CreateClient(httpConfig); // OAuth client
const response: HttpResponse<Data> = await httpClient.get('/posts/1');Running Tests
To run tests, run the following command, this starts a mock api and then runs the tests againsts the mock api server
npm run test