UNPKG

unleash-server

Version:

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

28 lines 1.01 kB
import { REQUEST_ORIGIN, emitMetricEvent } from '../metric-events.js'; import { determineIntegrationSource } from './integration-headers.js'; export const originMiddleware = ({ getLogger, eventBus, }) => { const logger = getLogger('/middleware/origin-middleware.ts'); logger.debug('Enabling origin middleware'); return (req, _, next) => { const isUI = !req.headers.authorization; if (isUI) { emitMetricEvent(eventBus, REQUEST_ORIGIN, { type: 'UI', method: req.method, }); } else { const userAgent = req.headers['user-agent']; const uaLabel = userAgent ? determineIntegrationSource(userAgent) : 'Other'; emitMetricEvent(eventBus, REQUEST_ORIGIN, { type: 'API', method: req.method, source: uaLabel, }); } next(); }; }; //# sourceMappingURL=origin-middleware.js.map