@mojojs/core
Version:
Real-time web framework
22 lines • 688 B
JavaScript
/**
* Default condition plugin.
*/
export default function defaultConditionsPlugin(app) {
const { router } = app;
router.addCondition('headers', headerCondition);
router.addCondition('host', hostCondition);
}
async function headerCondition(ctx, requirement) {
for (const [name, regex] of Object.entries(requirement)) {
const value = ctx.req.get(name);
if (typeof value !== 'string')
return false;
if (regex.test(value) === false)
return false;
}
return true;
}
async function hostCondition(ctx, requirement) {
return headerCondition(ctx, { Host: requirement });
}
//# sourceMappingURL=default-conditions.js.map