express-json-transform
Express middleware for intercepting and transforming json responses.
Installation
npm i -S express-json-transform
Usage
A transform is passed an object from the response and it returns a replacement.
jsonTransform( transform )
Basic usage Middleware can be created by passing a transform function. The transform function will be called with a response object prior to json serialization and it must return a replacement object.
var express = jsonTransform = ; // Create a transform to remove sensitive data from responsesvar cleanJson = ; var app = ; // The middleware can be used anywhere express accepts middlewareapp;
Now when your route handlers call res.json({ ... })
or res.send({ ... })
the objects will be transformed before being sent to the client.
jsonTransform( condition, transform )
Conditional usage Middleware can optionally be created with a function that evaluates whether or not to run the transform. The condition function will be called with a request object and a response object and must return a boolean indicating whether or not the transform should run.
var express = jsonTransform = ; // Create a transform to conditionally remove sensitive data from responsesvar cleanJson = ; var app = ; // The middleware can be used anywhere express accepts middlewareapp;
Middleware location
Express will let you define middleware in several different places. Each of these uses is valid:
var express = Router = expressRouter; var transform = { // modify the response... return json;}; var app = ;app // application-level middlewareapp; // middleware for specific routeapp // stacked with other middleware var router = ;router // router-level middlewarerouter; // middleware for specific routerouter // stacked with other middlewareapp;