@coko/server
Version:
Reusable server for use by Coko's projects
36 lines • 1.34 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const cors_1 = __importDefault(require("cors"));
const config_1 = __importDefault(require("../configManager/config"));
const urls_1 = require("../utils/urls");
const internals_1 = __importDefault(require("../logger/internals"));
const createCORSConfig = () => {
internals_1.default.section('Setting CORS origin');
const fromConfig = config_1.default.has('corsOrigin') && config_1.default.get('corsOrigin');
if (!urls_1.clientUrl && !fromConfig)
return null;
const defaultList = [urls_1.clientUrl].filter(i => !!i);
let extra = [];
if (fromConfig) {
if (Array.isArray(fromConfig)) {
extra = fromConfig;
}
else {
extra = fromConfig.split(',').map(i => i.trim());
}
}
return {
origin: [...defaultList, ...extra],
credentials: true,
};
};
const middleware = () => {
const corsConfig = createCORSConfig();
internals_1.default.point(`CORS origin set to: ${corsConfig?.origin?.toString() || 'null'}`);
return (0, cors_1.default)(corsConfig);
};
exports.default = middleware;
//# sourceMappingURL=cors.js.map