express-mw-correlation-id
Correlates HTTP requests between a client and server
api
const setCorrelationId = require('express-mw-correlation-id')
**setCorrelationId([string, defaults to X-Request-ID], [formatter=identity])
- by default will use the
X-Request-ID
header but to use a custom header instead just pass the name in the first parameter - formatter is a function that will add custom formats to the generated ID, being, by default, the generated ID.
- the middleware will reuse the request id if already present in the request headers
req.id now is expose to be used internally by the api/service is using the express-mw-correlation-id
middleware
examples
const express = const setCorrelationId = const app = app // `req.id` hold the correlation/request idapp app
Custom ID
app
Custom ID and custom format
app
Custom format
app
client
curl -v http://localhost:3000* Rebuilt URL to: http://localhost:3000/* Trying ::1...* Connected to localhost port 3000 > GET / HTTP/1.1> Host: localhost:3000> User-Agent: Mozilla/5.0 > Accept: */*> Referer:>< HTTP/1.1 200 OK< X-Powered-By: Express< X-Request-ID: 825efe65-a27d-4dca-936b-e74249095fb7< Content-Type: text/html; charset=utf-8< Content-Length: 11< ETag: W/"b-sQqNsWTgdUEFt6mb5y4/5Q"< Date: Thu, 08 Dec 2016 10:22:44 GMT< Connection: keep-alive<* Connection #0 to host localhost left intact 825efe65-a27d-4dca-936b-e74249095fb7
X-Request-ID should come with the headers