node-requestid

1.0.0 • Public • Published

node-requestid

Reads a request ID header from the HTTP request and writes it into the HTTP response. By default, the header is called X-Request-ID but this value can be overwritten.

If there is no value for the header on the request, a Version 4 UUID is generated and used as the value and added to the response.

Usage

const requestId = require("node-requestid")()
const restify = require("restify") // should be compatible with express, not tested
 
const restify = require("restify");
const server = restify.createServer();
 
// make the requestId the first middleware to ensure a requestId down the stack
server.use(requestId)
// other middlewares wired up here ...
 
server.get("/", (req, res, next)=>{
    const reqid = req.header("X-Request-ID")
 
    res.send(200, "You're Request ID was: " + reqid)
})

cURL Example:

$ curl -v http://127.0.0.1:3000
* Rebuilt URL to: http://127.0.0.1:3000/
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 3000 (#0)
> GET / HTTP/1.1
> Host: 127.0.0.1:3000
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: close
< X-Request-ID: 3fd20475-68b8-46d1-a80e-02ef2ee75801
< Content-Type: application/json
< Content-Length: 2
< Date: Fri, 09 Sep 2016 03:54:02 GMT
<
* Closing connection 0
{}
curl -v http://127.0.0.1:3000 --header "X-Request-ID: 123"
* Rebuilt URL to: http://127.0.0.1:3000/
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 3000 (#0)
> GET / HTTP/1.1
> Host: 127.0.0.1:3000
> User-Agent: curl/7.43.0
> Accept: */*
> X-Request-ID: 123
>
< HTTP/1.1 200 OK
< Connection: close
< X-Request-ID: 123
< Content-Type: application/json
< Content-Length: 2
< Date: Fri, 09 Sep 2016 03:56:27 GMT
<
* Closing connection 0
{}

Readme

Keywords

Package Sidebar

Install

npm i node-requestid

Weekly Downloads

1

Version

1.0.0

License

MIT

Last publish

Collaborators

  • jgerard
  • xianwill