unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
26 lines • 952 B
JavaScript
import NotFoundError from '../error/notfound-error.js';
const patMiddleware = ({ getLogger }, { accountService }) => {
const logger = getLogger('/middleware/pat-middleware.ts');
logger.debug('Enabling PAT middleware');
return async (req, res, next) => {
try {
const apiToken = req.header('authorization');
if (apiToken?.startsWith('user:')) {
const user = await accountService.getAccountByPersonalAccessToken(apiToken);
req.user = user;
accountService.addPATSeen(apiToken);
}
}
catch (error) {
if (error instanceof NotFoundError) {
logger.warn('Tried to use a PAT token for user that no longer existed', error);
}
else {
logger.error(error);
}
}
next();
};
};
export default patMiddleware;
//# sourceMappingURL=pat-middleware.js.map