UNPKG

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.

29 lines (28 loc) 1.2 kB
import { normalizeProvider } from "@smithy/core"; export const DEFAULT_UA_APP_ID = undefined; function isValidUserAgentAppId(appId) { if (appId === undefined) { return true; } return typeof appId === "string" && appId.length <= 50; } export function resolveUserAgentConfig(input) { const normalizedAppIdProvider = normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID); return { ...input, customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent, userAgentAppId: async () => { const appId = await normalizedAppIdProvider(); if (!isValidUserAgentAppId(appId)) { const logger = input.logger?.constructor?.name === "NoOpLogger" || !input.logger ? console : input.logger; if (typeof appId !== "string") { logger?.warn("userAgentAppId must be a string or undefined."); } else if (appId.length > 50) { logger?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters."); } } return appId; }, }; }