@aws-sdk/middleware-user-agent
Advanced tools
Comparing version 3.342.0 to 3.345.0
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.UA_ESCAPE_REGEX = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0; | ||
exports.UA_ESCAPE_CHAR = exports.UA_VALUE_ESCAPE_REGEX = exports.UA_NAME_ESCAPE_REGEX = exports.UA_NAME_SEPARATOR = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0; | ||
exports.USER_AGENT = "user-agent"; | ||
exports.X_AMZ_USER_AGENT = "x-amz-user-agent"; | ||
exports.SPACE = " "; | ||
exports.UA_ESCAPE_REGEX = /[^\!\#\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; | ||
exports.UA_NAME_SEPARATOR = "/"; | ||
exports.UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; | ||
exports.UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g; | ||
exports.UA_ESCAPE_CHAR = "-"; |
@@ -41,4 +41,10 @@ "use strict"; | ||
exports.userAgentMiddleware = userAgentMiddleware; | ||
const escapeUserAgent = ([name, version]) => { | ||
const prefixSeparatorIndex = name.indexOf("/"); | ||
const escapeUserAgent = (userAgentPair) => { | ||
var _a; | ||
const name = userAgentPair[0] | ||
.split(constants_1.UA_NAME_SEPARATOR) | ||
.map((part) => part.replace(constants_1.UA_NAME_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR)) | ||
.join(constants_1.UA_NAME_SEPARATOR); | ||
const version = (_a = userAgentPair[1]) === null || _a === void 0 ? void 0 : _a.replace(constants_1.UA_VALUE_ESCAPE_REGEX, constants_1.UA_ESCAPE_CHAR); | ||
const prefixSeparatorIndex = name.indexOf(constants_1.UA_NAME_SEPARATOR); | ||
const prefix = name.substring(0, prefixSeparatorIndex); | ||
@@ -51,4 +57,12 @@ let uaName = name.substring(prefixSeparatorIndex + 1); | ||
.filter((item) => item && item.length > 0) | ||
.map((item) => item === null || item === void 0 ? void 0 : item.replace(constants_1.UA_ESCAPE_REGEX, "_")) | ||
.join("/"); | ||
.reduce((acc, item, index) => { | ||
switch (index) { | ||
case 0: | ||
return item; | ||
case 1: | ||
return `${acc}/${item}`; | ||
default: | ||
return `${acc}#${item}`; | ||
} | ||
}, ""); | ||
}; | ||
@@ -55,0 +69,0 @@ exports.getUserAgentMiddlewareOptions = { |
export const USER_AGENT = "user-agent"; | ||
export const X_AMZ_USER_AGENT = "x-amz-user-agent"; | ||
export const SPACE = " "; | ||
export const UA_ESCAPE_REGEX = /[^\!\#\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; | ||
export const UA_NAME_SEPARATOR = "/"; | ||
export const UA_NAME_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g; | ||
export const UA_VALUE_ESCAPE_REGEX = /[^\!\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w\#]/g; | ||
export const UA_ESCAPE_CHAR = "-"; |
import { HttpRequest } from "@aws-sdk/protocol-http"; | ||
import { getUserAgentPrefix } from "@aws-sdk/util-endpoints"; | ||
import { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from "./constants"; | ||
import { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from "./constants"; | ||
export const userAgentMiddleware = (options) => (next, context) => async (args) => { | ||
@@ -36,4 +36,9 @@ const { request } = args; | ||
}; | ||
const escapeUserAgent = ([name, version]) => { | ||
const prefixSeparatorIndex = name.indexOf("/"); | ||
const escapeUserAgent = (userAgentPair) => { | ||
const name = userAgentPair[0] | ||
.split(UA_NAME_SEPARATOR) | ||
.map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR)) | ||
.join(UA_NAME_SEPARATOR); | ||
const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR); | ||
const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR); | ||
const prefix = name.substring(0, prefixSeparatorIndex); | ||
@@ -46,4 +51,12 @@ let uaName = name.substring(prefixSeparatorIndex + 1); | ||
.filter((item) => item && item.length > 0) | ||
.map((item) => item?.replace(UA_ESCAPE_REGEX, "_")) | ||
.join("/"); | ||
.reduce((acc, item, index) => { | ||
switch (index) { | ||
case 0: | ||
return item; | ||
case 1: | ||
return `${acc}/${item}`; | ||
default: | ||
return `${acc}#${item}`; | ||
} | ||
}, ""); | ||
}; | ||
@@ -50,0 +63,0 @@ export const getUserAgentMiddlewareOptions = { |
export declare const USER_AGENT = "user-agent"; | ||
export declare const X_AMZ_USER_AGENT = "x-amz-user-agent"; | ||
export declare const SPACE = " "; | ||
export declare const UA_ESCAPE_REGEX: RegExp; | ||
export declare const UA_NAME_SEPARATOR = "/"; | ||
export declare const UA_NAME_ESCAPE_REGEX: RegExp; | ||
export declare const UA_VALUE_ESCAPE_REGEX: RegExp; | ||
export declare const UA_ESCAPE_CHAR = "-"; |
export declare const USER_AGENT = "user-agent"; | ||
export declare const X_AMZ_USER_AGENT = "x-amz-user-agent"; | ||
export declare const SPACE = " "; | ||
export declare const UA_ESCAPE_REGEX: RegExp; | ||
export declare const UA_NAME_SEPARATOR = "/"; | ||
export declare const UA_NAME_ESCAPE_REGEX: RegExp; | ||
export declare const UA_VALUE_ESCAPE_REGEX: RegExp; | ||
export declare const UA_ESCAPE_CHAR = "-"; |
{ | ||
"name": "@aws-sdk/middleware-user-agent", | ||
"version": "3.342.0", | ||
"version": "3.345.0", | ||
"scripts": { | ||
@@ -5,0 +5,0 @@ "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
25532
291