UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

37 lines 1.15 kB
/** * @deprecated Use `requireFeatureEnabled` for feature-flag route gating. * * Generic conditional middleware runner. * Prefer this only for non-feature-flag conditions. */ export const conditionalMiddleware = (condition, middleware) => { return (req, res, next) => { if (condition()) { middleware(req, res, next); } else { next(); } }; }; /** * Route-level feature gate middleware. * * Recommended usage: * `middleware: [requireFeatureEnabled(config.flagResolver, 'myFlag')]` * * Guidance: * - Prefer route-level usage (`this.route({ middleware: [...] })`) in controllers. * - Avoid broad prefix mounts (for example `/api/admin/projects`) where sibling routes * can accidentally be gated. * - The route remains registered/discoverable; disabled features return `404` at request time. */ export const requireFeatureEnabled = (flagResolver, flagName) => { return (_req, res, next) => { if (flagResolver.isEnabled(flagName)) { return next(); } return res.sendStatus(404); }; }; //# sourceMappingURL=conditional-middleware.js.map