1.0.1 • Published 2 years ago

@rbipin/http-client v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

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