serverless-spy
Version:
CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.
28 lines (27 loc) • 1.17 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultUserAgent = exports.createDefaultUserAgentProvider = void 0;
const tslib_1 = require("tslib");
const bowser_1 = tslib_1.__importDefault(require("bowser"));
const createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => async (config) => {
const parsedUA = typeof window !== "undefined" && window?.navigator?.userAgent
? bowser_1.default.parse(window.navigator.userAgent)
: undefined;
const sections = [
["aws-sdk-js", clientVersion],
["ua", "2.1"],
[`os/${parsedUA?.os?.name || "other"}`, parsedUA?.os?.version],
["lang/js"],
["md/browser", `${parsedUA?.browser?.name ?? "unknown"}_${parsedUA?.browser?.version ?? "unknown"}`],
];
if (serviceId) {
sections.push([`api/${serviceId}`, clientVersion]);
}
const appId = await config?.userAgentAppId?.();
if (appId) {
sections.push([`app/${appId}`]);
}
return sections;
};
exports.createDefaultUserAgentProvider = createDefaultUserAgentProvider;
exports.defaultUserAgent = exports.createDefaultUserAgentProvider;
;