1.1.1 • Published 9 years ago

koa-track v1.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

npm version Build Status codecov.io

koa-track

Install

npm install koa-track

What can we do for you?

Are you having a hard time keeping track of what happened with a erroring flow?

Then this module if perfect for you. Generate a unique id that identifies a request and spread it along with subsequent requests to different services you might be using.

This way you can identify a flow and see what went wrong.

Usage

Use requestId middleware wherever you need to generate an id for an incoming request:

var koa       = require("koa");
var koaTrack  = require("koa-track");
var koaApp    = koa();
var requestId = koaTrack.requestId.middleware;

koaApp.use(koaTrack.requestId.middleware());

If you need to spread your tracking information to other servers you can do it with spread utility:

var http     = require("http");
var koaTrack = require("koa-track");
var spread   = koaTrack.spread.spread({ requestId: { write: true } });
var self     = this;

// set up your http request options as usual
var requestOptions = {
  hostname: "127.0.0.1",
  port: 3000,
  path: "/user",
  method: "GET"
};
// let spread function override options to embed current request id
requestOptions = spread(self, {options: requestOptions, type: "http-request" });

// execute request as usual
var req = http.request(requestOptions, function(res) {
  // on res callback
});

How do I achieve a koa application reuse tracking information from a request?

var koaTrack   = require("koa-track");
var middleware = koaTrack.spread.middleware({ requestId: { read: true } });

koaApp.use(middleware());

Options

Overriding default options for requestId middleware.

koaTrack.requestId.middleware({
  headerName : "x-rid"  // [String] - optional: Specify header name for request-id
})

License

MIT