Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@openreply/emw-request-id
Advanced tools
Application Load Balancers AWS enrich incoming http requests with an additional X-Amzn-Trace-Id
header - see the aws documentation for more information.
Services like AWS API Gateway may set a x-amzn-RequestId
header with an unique id for every incoming request.
We can use request tracing to track http requests from clients to targets or other services. This package associates a passed requestId with the req
object or otherwise created a new one. It also adds the service under the configured name to the trace header list and makes it also available via the req
object.
you can install this package via npm
npm i @openreply/emw-request-id
Simply add this module to your middleware chain
app.use(requestId({ serviceName: 'testService' }));
See the API documentation for more information regarding your initialization options.
this will extend the request object by the following properties
See the following usage example
/* eslint-disable import/no-extraneous-dependencies */
const request = require('request');
const express = require('express');
/* eslint-enable import/no-extraneous-dependencies */
const requestId = require('@openreply/emw-request-id');
const app = express();
// initializes our request-id middleware. will also set the trace header on
// the response object by default
app.use(requestId({ serviceName: 'testService' }));
app.get('/', (req, res) => {
// log the trace and request information to the console
// eslint-disable-next-line no-console
console.log(`incoming request with requestId ${req.requestId} and trace ${req.trace} for trace header ${req.traceHeader}`);
// add the trace information to requests to upstream servers
request.get({
url: 'http://www.example.com',
headers: {
[req.traceHeader]: req.trace
}
}, (error, response, body) => {
if (error) {
return res.sendStatus(502);
}
return res.send(body);
});
});
app.listen(3000, () => {
// eslint-disable-next-line no-console
console.log('Example app listening on port 3000!');
});
You can run the test suite via
npm test
We use SemVer for versioning. For the versions available, see the tags on this repository.
See also the list of authors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details
FAQs
express middleware that manages request and trace ids
The npm package @openreply/emw-request-id receives a total of 283 weekly downloads. As such, @openreply/emw-request-id popularity was classified as not popular.
We found that @openreply/emw-request-id demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 28 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.