Skip to main content
Moderne OnlyThis recipe is proprietary to Moderne and runs on the Moderne platform or CLI — it isn’t part of the open-source catalog. Available with a Moderne subscription.Contact Sales

Replace express-request-id with an inline middleware

Recipe IDorg.openrewrite.node.migrate.express-request-id.replace-express-request-id
Artifact@openrewrite/recipes-nodejs

Replaces the express-request-id middleware factory with an equivalent inline middleware that reuses an incoming X-Request-Id header or generates an id with randomUUID() from node:crypto (Node.js 14.17+), stores it on the request and echoes it in the response header. The setHeader, headerName, attributeName and generator options carry over; calls with other options, or options that aren't literals, are left alone. attributeName is honored as in 1.x; versions 2 and 3 ignore it and always set req.id. In TypeScript the id is set with Object.assign so no Request augmentation is needed, and a middleware stored in a variable is typed as Express's RequestHandler.

Single recipeOpenRewriteexpress-request-idModerne Proprietary License
Try in PlatformTry this recipe in the Moderne platform. Not a user yet? You’ll get a no-setup demo environment, with nothing to install or configure.

Usage​

Run this recipe

In order to run JavaScript recipes, you will need to use the Moderne CLI. For JavaScript specific configuration instructions, please see our configuring JavaScript guide.

Once the CLI is installed, you can install this JavaScript recipe package by running the following command:

Install the recipe package
mod config recipes npm install @openrewrite/recipes-nodejs

Then, you can run the recipe via:

Run the recipe
mod run . --recipe org.openrewrite.node.migrate.express-request-id.replace-express-request-id