node-requestid
v1.0.0
Published
Request ID tracking
Downloads
3
Readme
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
{}