@jvhaile/loopback4-helper
Version:
Helper components and tools for loopback 4.
35 lines • 1.44 kB
JavaScript
;
var UserAgentMiddlewareProvider_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserAgentMiddlewareProvider = void 0;
const tslib_1 = require("tslib");
const core_1 = require("@loopback/core");
const rest_1 = require("@loopback/rest");
const expressUserAgent = require('express-useragent');
let UserAgentMiddlewareProvider = UserAgentMiddlewareProvider_1 = class UserAgentMiddlewareProvider {
async value() {
const middleware = async (ctx, next) => {
const userAgent = ctx.request.header('user-agent');
try { // @ts-ignore
ctx.request.headers['parsed-user-agent'] = {
...expressUserAgent.parse(userAgent),
ips: ctx.request.ips,
ip: ctx.request.ip,
};
}
catch (e) {
}
return next();
};
return middleware;
}
};
UserAgentMiddlewareProvider.USER_AGENT = 'userAgent';
UserAgentMiddlewareProvider = UserAgentMiddlewareProvider_1 = tslib_1.__decorate([
core_1.injectable(rest_1.asMiddleware({
group: UserAgentMiddlewareProvider_1.USER_AGENT,
downstreamGroups: rest_1.RestMiddlewareGroups.AUTHENTICATION,
}))
], UserAgentMiddlewareProvider);
exports.UserAgentMiddlewareProvider = UserAgentMiddlewareProvider;
//# sourceMappingURL=user-agent.middleware.js.map