Reputation: 13484
I am using Express for web services and I need the responses to be encoded in utf-8.
I know I can do the following to each response:
response.setHeader('charset', 'utf-8');
Is there a clean way to set a header or a charset for all responses sent by the express application?
Upvotes: 53
Views: 46571
Reputation: 708106
Just use a middleware statement that executes for all routes:
// a middleware with no mount path; gets executed for every request to the app
app.use(function(req, res, next) {
res.setHeader('charset', 'utf-8')
next();
});
And, make sure this is registered before any routes that you want it to apply to:
app.use(...);
app.get('/index.html', ...);
Express middleware documentation here.
Upvotes: 83