Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including koa2-cors with all npm packages installed. Try it out:

var koa2Cors = require("koa2-cors")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

koa2-cors v2.0.6

cors middleware for koa2

koa2-cors

install

it requires node v7.6.0 or higher now

npm install --save koa2-cors

Usage

var Koa = require('koa');
var cors = require('koa2-cors');

var app = new Koa();
app.use(cors());

Options

origin

Configures the Access-Control-Allow-Origin CORS header. expects a string. Can also be set to a function, which takes the ctx as the first parameter.

exposeHeaders

Configures the Access-Control-Expose-Headers CORS header. Expects a comma-delimited array.

maxAge

Configures the Access-Control-Max-Age CORS header. Expects a Number.

credentials

Configures the Access-Control-Allow-Credentials CORS header. Expects a Boolean.

allowMethods

Configures the Access-Control-Allow-Methods CORS header. Expects a comma-delimited array , If not specified, default allowMethods is ['GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'].

allowHeaders

Configures the Access-Control-Allow-Headers CORS header. Expects a comma-delimited array . If not specified, defaults to reflecting the headers specified in the request's Access-Control-Request-Headers header.

var Koa = require('koa');
var cors = require('koa2-cors');

var app = new Koa();
app.use(cors({
  origin: function(ctx) {
    if (ctx.url === '/test') {
      return false;
    }
    return '*';
  },
  exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
  maxAge: 5,
  credentials: true,
  allowMethods: ['GET', 'POST', 'DELETE'],
  allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
}));
...

More details about CORS.

License

MIT License

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free