YEPS Cross-Origin Resource Sharing (CORS)
npm i -S yeps-cors
const App = require('yeps');
const Router = require('yeps-router');
const error = require('yeps-error');
const logger = require('yeps-logger');
const server = require('yeps-server');
const cors = require('yeps-cors');
const app = new App();
const router = new Router();
app.all([
error(),
logger(),
cors(),
]);
router.get('/url').then(async (ctx) => {
ctx.res.statusCode = 200;
ctx.res.end(data);
});
app.then(router.resolve());
server.createHttpServer(app);
cors({ origin: '*' });
cors({
origin(ctx) {
return ctx.req.url !== '/forbin' ? '*' : false;
},
});
{String|Array} allowMethods Access-Control-Allow-Methods
, default is 'GET,HEAD,PUT,POST,DELETE,PATCH'
cors({
allowMethods: 'GET',
});
cors({
allowMethods: ['GET', 'POST'],
});
cors({
allowMethods: null,
});
cors({
exposeHeaders: 'content-length',
});
cors({
exposeHeaders: ['content-length', 'x-header'],
});
cors({
allowHeaders: 'X-PINGOTHER',
});
cors({
allowHeaders: ['X-PINGOTHER'],
});
cors({
maxAge: 3600,
});
cors({
maxAge: '3600',
});
cors({
credentials: true,
});