UNPKG

@fran-834/gs-microservice-core

Version:

Core package for Node.js microservices by Galduria Software. Includes security, logging, validation, and error handling middlewares.

31 lines (30 loc) 914 B
import * as UAParser from "ua-parser-js"; export function userAgentMiddleware(req, _res, next) { const uaString = req.get("user-agent"); if (!uaString) { req.context = { ...req.context, userAgent: { browser: "unknown", browserVersion: "unknown", os: "unknown", osVersion: "unknown", device: "unknown", }, }; return next(); } const parser = new UAParser.UAParser(uaString); const ua = parser.getResult(); req.context = { ...req.context, userAgent: { browser: ua.browser.name ?? "unknown", browserVersion: ua.browser.version ?? "unknown", os: ua.os.name ?? "unknown", osVersion: ua.os.version ?? "unknown", device: ua.device.type ?? "desktop", }, }; next(); }