I have this node API wrapper service, where I need to set REQUEST custom headers on all routes / endpoints at once instead of doing that on each request. I have tried the following in app.js
but receive a not function error: req.set is not a function
.
const customHeadersAppLevel = function (req, res, next) {
req.set("User-Agent", "zendx/sop API");
next();
};
app.all("*", customHeadersAppLevel);
Is there anyway we can do this on the app level or should I just go ahead with setting custom request headers on individual routes/requests, respectively.
CodePudding user response:
Assuming that app = express()
and we are at the top of the server's root file, you could set those headers for all your request like this:
const customHeadersAppLevel = function (req, res, next) {
req.headers['User-Agent'] = 'zendx/sop API'
next();
};
app.use(customHeadersAppLevel);
CodePudding user response:
I think there is no set
function in Request
. Use headers
property to set the request header.
const customHeadersAppLevel = function (req, res, next) {
req.headers['User-Agent'] = 'zendx/sop API';
next();
};
app.all('*', customHeadersAppLevel);
You can also use Application-level middleware. Something like this,
const express = require('express')
const app = express()
app.use((req, res, next) => {
req.headers['User-Agent'] = 'zendx/sop API';
next()
})
// Other Route comes here