@grace-js/grace
Version:
An opinionated API framework
33 lines • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cors = void 0;
const cors = ({ origin = true, methods = '*', allowedHeaders = '*', exposedHeaders = '*', credentials = false, maxAge = 5, preflight = true }) => (app) => {
return app.registerBefore(async (request) => {
if (request.method === 'OPTIONS') {
return {
code: 204,
body: null,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': methods,
'Access-Control-Allow-Headers': allowedHeaders,
'Access-Control-Expose-Headers': exposedHeaders,
'Access-Control-Allow-Credentials': credentials ? 'true' : 'false',
'Access-Control-Max-Age': maxAge.toString()
}
};
}
return {
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': methods,
'Access-Control-Allow-Headers': allowedHeaders,
'Access-Control-Expose-Headers': exposedHeaders,
'Access-Control-Allow-Credentials': credentials ? 'true' : 'false',
'Access-Control-Max-Age': maxAge.toString()
}
};
});
};
exports.cors = cors;
//# sourceMappingURL=cors.js.map