@gfx687/express-request-id
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

express-request-id

Middleware for express to generate or propagate X-Request-ID (or other custom) request header.

npm License

Installation

Install @gfx687/express-request-id with:

npm install @gfx687/express-request-id

Peer dependencies:

Usage

Basic usage example:

import express from "express";
import { requestID } from "@gfx687/express-request-id";

const app = express();
const port = 3000;

app.use(requestID());

app.get("/", (req: express.Request, res: express.Response) => {
  res.send(`Request with ID=${req.id} received!`);
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

Accessing Request ID

Request ID is accessible via express.Request object's id field.

Example:

app.get("/", (req: express.Request, res: express.Response) => {
  res.send(`Request with ID=${req.id} received!`);
});

Customizing Middleware

Middleware accepts options object of the following format:

type Options = {
  // default = node's crypto.randomUUID()
  generator?: (request: Request) => string;

  // default = 'X-Request-ID'
  headerName?: string;

  // default = true
  setResponseHeader?: boolean;
};

Usage example:

app.use(
  requestID({
    generator: (expressRequest) => customIdGenerator(expressRequest),
    headerName: "correlation-id",
    setResponseHeader: false,
  })
);

Package Sidebar

Install

npm i @gfx687/express-request-id

Weekly Downloads

5

Version

1.0.3

License

MIT

Unpacked Size

5.03 kB

Total Files

5

Last publish

Collaborators

  • gfx687