yandex-cloud-functions-router
Version:
Node router for Yandex Cloud Functions
27 lines (26 loc) • 879 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isOriginValid = void 0;
const normalizeOrigin = (origin) => origin
? origin
.trim()
.toLowerCase()
.replace(/[\\\/]+$/, '')
.trim()
: '';
const isOriginValid = (options, origin) => {
if (origin) {
if (Array.isArray(options)) {
const allowedOrigins = options.map(normalizeOrigin);
return allowedOrigins.indexOf(normalizeOrigin(origin)) !== -1 || allowedOrigins.indexOf('*') !== -1;
}
else if (typeof options === 'object') {
return isOriginValid(options.allowedOrigins || [], origin);
}
else if (typeof options === 'string') {
return normalizeOrigin(options) === normalizeOrigin(origin);
}
}
return false;
};
exports.isOriginValid = isOriginValid;