@kasa/koa-http-client

    1.0.0 • Public • Published

    @kasa/koa-http-client

    A middleware that attachs HTTP client to communicate with the context during inter-service communications in Koa.


    Installation

    # Using NPM 
    $ npm install --save @kasa/koa-http-client
    # Using Yarn 
    $ yarn add @kasa/koa-http-client

    Dependencies

    Usage

    Use koa-http-client as a middleware for a koa app.

    const Koa = require('koa');
    const requestId = require('@kasa/koa-http-client');
    const httpClient = require('@kasa/koa-http-client');
    const app = new Koa();
     
    app.use(requestId());
    app.use(httpClient({}));
    app.use(async ctx => {
      ctx.body = ctx.state.reqId;
    });
     
    app.listen(3000);

    API

    Creating an middleware

    You can create a new http client middleware by passing the relevant options to httpClient;

    const middleware = httpClient({
      forwardedHeaders: ['Accept-Language'],
      userAgent: 'user-service/0.1.0',
      requestIdHeader: 'X-Service-Request-Id',
      timeout: 20 * 1000,
      retry: 3,
    });

    Middleware Configuration

    These are the available config options for the middleware. All is optional. The middleware attachs HTTP client with the context for each request.

    {
      // HTTP headers to forward from Koa `ctx`
      forwardedHeaders: ['Accept-Language', 'Authorization'],
     
      // Client name to set `User-Agent` header
      userAgent: 'user-service/0.1.0',
     
      // HTTP header to get/set the request id
      requestIdHeader: 'X-Service-Request-Id',
     
      // Milliseconds to wait for the server to end the response before aborting the request
      timeout: 20 * 1000,
     
      // Count to retry on the request errors
      retry: 3,
    }

    Contributing

    Bug Reports & Feature Requests

    Please use the issue tracker to report any bugs or ask feature requests.

    License

    Provided under the terms of the MIT License.

    Copyright © 2019, Kasa.

    Install

    npm i @kasa/koa-http-client

    DownloadsWeekly Downloads

    6

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    8.62 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar