How do I set headers to all responses in Koa.js?

Gherman picture Gherman · Apr 3, 2018 · Viewed 16.5k times · Source

In Express.js I used to have this kind of code:

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
  res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
  next();
});

How do I do the same thing with Koa.js? I need to preset these several http headers for each server response.

Answer

Gherman picture Gherman · Apr 3, 2018

Finaly I found how to do it.

app.use(async (ctx, next) => {
  ctx.set('Access-Control-Allow-Origin', '*');
  ctx.set('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
  ctx.set('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
  await next();
});