UNPKG

@jvhaile/loopback4-helper

Version:
35 lines 1.44 kB
"use strict"; 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