@aws-sdk/middleware-user-agent 3.29.0 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/dist-cjs/configurations.js +10 -0
- package/dist-cjs/constants.js +7 -0
- package/dist-cjs/index.js +5 -0
- package/dist-cjs/user-agent-middleware.js +61 -0
- package/dist-es/configurations.js +4 -0
- package/dist-es/constants.js +4 -0
- package/{dist/types/index.d.ts → dist-es/index.js} +0 -0
- package/dist-es/user-agent-middleware.js +64 -0
- package/{dist/types → dist-types}/configurations.d.ts +0 -0
- package/{dist/types → dist-types}/constants.d.ts +0 -0
- package/{src/index.ts → dist-types/index.d.ts} +0 -0
- package/{dist/types → dist-types}/ts3.4/configurations.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/constants.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/user-agent-middleware.d.ts +0 -0
- package/{dist/types → dist-types}/user-agent-middleware.d.ts +0 -0
- package/package.json +16 -12
- package/dist/cjs/configurations.js +0 -11
- package/dist/cjs/constants.js +0 -8
- package/dist/cjs/index.js +0 -6
- package/dist/cjs/user-agent-middleware.js +0 -81
- package/dist/es/configurations.js +0 -5
- package/dist/es/constants.js +0 -5
- package/dist/es/index.js +0 -3
- package/dist/es/user-agent-middleware.js +0 -82
- package/src/configurations.ts +0 -34
- package/src/constants.ts +0 -7
- package/src/user-agent-middleware.ts +0 -98
- package/tsconfig.cjs.json +0 -10
- package/tsconfig.es.json +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.36.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.35.0...v3.36.0) (2021-10-08)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* publish files in dist-* only ([#2873](https://github.com/aws/aws-sdk-js-v3/issues/2873)) ([53b4243](https://github.com/aws/aws-sdk-js-v3/commit/53b4243b066f25ff2412d5f0dea1036054b2df32))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @aws-sdk/middleware-user-agent
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* **non-clients:** remove comments from transpiled JS files ([#2813](https://github.com/aws/aws-sdk-js-v3/issues/2813)) ([e6fc7f3](https://github.com/aws/aws-sdk-js-v3/commit/e6fc7f3e0fa74785590ac19e7ed143c916bb9b6e))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
# [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @aws-sdk/middleware-user-agent
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
# [3.29.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.28.0...v3.29.0) (2021-09-02)
|
|
7
45
|
|
|
8
46
|
**Note:** Version bump only for package @aws-sdk/middleware-user-agent
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveUserAgentConfig = void 0;
|
|
4
|
+
function resolveUserAgentConfig(input) {
|
|
5
|
+
return {
|
|
6
|
+
...input,
|
|
7
|
+
customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
exports.resolveUserAgentConfig = resolveUserAgentConfig;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UA_ESCAPE_REGEX = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0;
|
|
4
|
+
exports.USER_AGENT = "user-agent";
|
|
5
|
+
exports.X_AMZ_USER_AGENT = "x-amz-user-agent";
|
|
6
|
+
exports.SPACE = " ";
|
|
7
|
+
exports.UA_ESCAPE_REGEX = /[^\!\#\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserAgentPlugin = exports.getUserAgentMiddlewareOptions = exports.userAgentMiddleware = void 0;
|
|
4
|
+
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const userAgentMiddleware = (options) => (next, context) => async (args) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const { request } = args;
|
|
9
|
+
if (!protocol_http_1.HttpRequest.isInstance(request))
|
|
10
|
+
return next(args);
|
|
11
|
+
const { headers } = request;
|
|
12
|
+
const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];
|
|
13
|
+
const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);
|
|
14
|
+
const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];
|
|
15
|
+
const sdkUserAgentValue = [...defaultUserAgent, ...userAgent, ...customUserAgent].join(constants_1.SPACE);
|
|
16
|
+
const normalUAValue = [
|
|
17
|
+
...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")),
|
|
18
|
+
...customUserAgent,
|
|
19
|
+
].join(constants_1.SPACE);
|
|
20
|
+
if (options.runtime !== "browser") {
|
|
21
|
+
if (normalUAValue) {
|
|
22
|
+
headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT]
|
|
23
|
+
? `${headers[constants_1.USER_AGENT]} ${normalUAValue}`
|
|
24
|
+
: normalUAValue;
|
|
25
|
+
}
|
|
26
|
+
headers[constants_1.USER_AGENT] = sdkUserAgentValue;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue;
|
|
30
|
+
}
|
|
31
|
+
return next({
|
|
32
|
+
...args,
|
|
33
|
+
request,
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
exports.userAgentMiddleware = userAgentMiddleware;
|
|
37
|
+
const escapeUserAgent = ([name, version]) => {
|
|
38
|
+
const prefixSeparatorIndex = name.indexOf("/");
|
|
39
|
+
const prefix = name.substring(0, prefixSeparatorIndex);
|
|
40
|
+
let uaName = name.substring(prefixSeparatorIndex + 1);
|
|
41
|
+
if (prefix === "api") {
|
|
42
|
+
uaName = uaName.toLowerCase();
|
|
43
|
+
}
|
|
44
|
+
return [prefix, uaName, version]
|
|
45
|
+
.filter((item) => item && item.length > 0)
|
|
46
|
+
.map((item) => item === null || item === void 0 ? void 0 : item.replace(constants_1.UA_ESCAPE_REGEX, "_"))
|
|
47
|
+
.join("/");
|
|
48
|
+
};
|
|
49
|
+
exports.getUserAgentMiddlewareOptions = {
|
|
50
|
+
name: "getUserAgentMiddleware",
|
|
51
|
+
step: "build",
|
|
52
|
+
priority: "low",
|
|
53
|
+
tags: ["SET_USER_AGENT", "USER_AGENT"],
|
|
54
|
+
override: true,
|
|
55
|
+
};
|
|
56
|
+
const getUserAgentPlugin = (config) => ({
|
|
57
|
+
applyToStack: (clientStack) => {
|
|
58
|
+
clientStack.add(exports.userAgentMiddleware(config), exports.getUserAgentMiddlewareOptions);
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
exports.getUserAgentPlugin = getUserAgentPlugin;
|
|
File without changes
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
|
|
2
|
+
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
3
|
+
import { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from "./constants";
|
|
4
|
+
export var userAgentMiddleware = function (options) {
|
|
5
|
+
return function (next, context) {
|
|
6
|
+
return function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7
|
+
var request, headers, userAgent, defaultUserAgent, customUserAgent, sdkUserAgentValue, normalUAValue;
|
|
8
|
+
var _a, _b;
|
|
9
|
+
return __generator(this, function (_c) {
|
|
10
|
+
switch (_c.label) {
|
|
11
|
+
case 0:
|
|
12
|
+
request = args.request;
|
|
13
|
+
if (!HttpRequest.isInstance(request))
|
|
14
|
+
return [2, next(args)];
|
|
15
|
+
headers = request.headers;
|
|
16
|
+
userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];
|
|
17
|
+
return [4, options.defaultUserAgentProvider()];
|
|
18
|
+
case 1:
|
|
19
|
+
defaultUserAgent = (_c.sent()).map(escapeUserAgent);
|
|
20
|
+
customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];
|
|
21
|
+
sdkUserAgentValue = __spreadArray(__spreadArray(__spreadArray([], __read(defaultUserAgent)), __read(userAgent)), __read(customUserAgent)).join(SPACE);
|
|
22
|
+
normalUAValue = __spreadArray(__spreadArray([], __read(defaultUserAgent.filter(function (section) { return section.startsWith("aws-sdk-"); }))), __read(customUserAgent)).join(SPACE);
|
|
23
|
+
if (options.runtime !== "browser") {
|
|
24
|
+
if (normalUAValue) {
|
|
25
|
+
headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]
|
|
26
|
+
? headers[USER_AGENT] + " " + normalUAValue
|
|
27
|
+
: normalUAValue;
|
|
28
|
+
}
|
|
29
|
+
headers[USER_AGENT] = sdkUserAgentValue;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;
|
|
33
|
+
}
|
|
34
|
+
return [2, next(__assign(__assign({}, args), { request: request }))];
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}); };
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
var escapeUserAgent = function (_a) {
|
|
41
|
+
var _b = __read(_a, 2), name = _b[0], version = _b[1];
|
|
42
|
+
var prefixSeparatorIndex = name.indexOf("/");
|
|
43
|
+
var prefix = name.substring(0, prefixSeparatorIndex);
|
|
44
|
+
var uaName = name.substring(prefixSeparatorIndex + 1);
|
|
45
|
+
if (prefix === "api") {
|
|
46
|
+
uaName = uaName.toLowerCase();
|
|
47
|
+
}
|
|
48
|
+
return [prefix, uaName, version]
|
|
49
|
+
.filter(function (item) { return item && item.length > 0; })
|
|
50
|
+
.map(function (item) { return item === null || item === void 0 ? void 0 : item.replace(UA_ESCAPE_REGEX, "_"); })
|
|
51
|
+
.join("/");
|
|
52
|
+
};
|
|
53
|
+
export var getUserAgentMiddlewareOptions = {
|
|
54
|
+
name: "getUserAgentMiddleware",
|
|
55
|
+
step: "build",
|
|
56
|
+
priority: "low",
|
|
57
|
+
tags: ["SET_USER_AGENT", "USER_AGENT"],
|
|
58
|
+
override: true,
|
|
59
|
+
};
|
|
60
|
+
export var getUserAgentPlugin = function (config) { return ({
|
|
61
|
+
applyToStack: function (clientStack) {
|
|
62
|
+
clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);
|
|
63
|
+
},
|
|
64
|
+
}); };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,42 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-user-agent",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.36.0",
|
|
4
4
|
"scripts": {
|
|
5
|
+
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
5
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
6
7
|
"build:es": "tsc -p tsconfig.es.json",
|
|
7
|
-
"build": "
|
|
8
|
-
"downlevel-dts": "downlevel-dts dist
|
|
8
|
+
"build:types": "tsc -p tsconfig.types.json",
|
|
9
|
+
"downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
|
|
9
10
|
"test": "jest --passWithNoTests"
|
|
10
11
|
},
|
|
11
|
-
"main": "./dist
|
|
12
|
-
"module": "./dist
|
|
13
|
-
"types": "./dist
|
|
12
|
+
"main": "./dist-cjs/index.js",
|
|
13
|
+
"module": "./dist-es/index.js",
|
|
14
|
+
"types": "./dist-types/index.d.ts",
|
|
14
15
|
"author": {
|
|
15
16
|
"name": "AWS SDK for JavaScript Team",
|
|
16
17
|
"url": "https://aws.amazon.com/javascript/"
|
|
17
18
|
},
|
|
18
19
|
"license": "Apache-2.0",
|
|
19
20
|
"dependencies": {
|
|
20
|
-
"@aws-sdk/protocol-http": "3.
|
|
21
|
-
"@aws-sdk/types": "3.
|
|
21
|
+
"@aws-sdk/protocol-http": "3.36.0",
|
|
22
|
+
"@aws-sdk/types": "3.36.0",
|
|
22
23
|
"tslib": "^2.3.0"
|
|
23
24
|
},
|
|
24
25
|
"devDependencies": {
|
|
25
|
-
"@aws-sdk/middleware-stack": "3.
|
|
26
|
+
"@aws-sdk/middleware-stack": "3.36.0",
|
|
26
27
|
"@types/jest": "^26.0.4",
|
|
27
28
|
"jest": "^26.1.0",
|
|
28
|
-
"typescript": "~4.
|
|
29
|
+
"typescript": "~4.3.5"
|
|
29
30
|
},
|
|
30
31
|
"engines": {
|
|
31
32
|
"node": ">= 10.0.0"
|
|
32
33
|
},
|
|
33
34
|
"typesVersions": {
|
|
34
35
|
"<4.0": {
|
|
35
|
-
"dist
|
|
36
|
-
"dist
|
|
36
|
+
"dist-types/*": [
|
|
37
|
+
"dist-types/ts3.4/*"
|
|
37
38
|
]
|
|
38
39
|
}
|
|
39
40
|
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist-*"
|
|
43
|
+
],
|
|
40
44
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/middleware-user-agent",
|
|
41
45
|
"repository": {
|
|
42
46
|
"type": "git",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveUserAgentConfig = void 0;
|
|
4
|
-
function resolveUserAgentConfig(input) {
|
|
5
|
-
return {
|
|
6
|
-
...input,
|
|
7
|
-
customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent,
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
exports.resolveUserAgentConfig = resolveUserAgentConfig;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMEJBLFNBQWdCLHNCQUFzQixDQUNwQyxLQUFvRDtJQUVwRCxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsZUFBZSxFQUFFLE9BQU8sS0FBSyxDQUFDLGVBQWUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWU7S0FDL0csQ0FBQztBQUNKLENBQUM7QUFQRCx3REFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyLCBVc2VyQWdlbnQgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgVXNlckFnZW50SW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIGN1c3RvbSB1c2VyIGFnZW50IGhlYWRlciB0aGF0IHdvdWxkIGJlIGFwcGVuZGVkIHRvIGRlZmF1bHQgb25lXG4gICAqL1xuICBjdXN0b21Vc2VyQWdlbnQ/OiBzdHJpbmcgfCBVc2VyQWdlbnQ7XG59XG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgZGVmYXVsdFVzZXJBZ2VudFByb3ZpZGVyOiBQcm92aWRlcjxVc2VyQWdlbnQ+O1xuICBydW50aW1lOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBwcm92aWRlciBwb3B1bGF0aW5nIGRlZmF1bHQgdHJhY2tpbmcgaW5mb3JtYXRpb24gdG8gYmUgc2VudCB3aXRoIGB1c2VyLWFnZW50YCwgYHgtYW16LXVzZXItYWdlbnRgIGhlYWRlci5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBkZWZhdWx0VXNlckFnZW50UHJvdmlkZXI6IFByb3ZpZGVyPFVzZXJBZ2VudD47XG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHVzZXIgYWdlbnQgaGVhZGVyIHRoYXQgd291bGQgYmUgYXBwZW5kZWQgdG8gZGVmYXVsdCBvbmVcbiAgICovXG4gIGN1c3RvbVVzZXJBZ2VudD86IFVzZXJBZ2VudDtcbiAgLyoqXG4gICAqIFRoZSBydW50aW1lIGVudmlyb25tZW50XG4gICAqL1xuICBydW50aW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVVzZXJBZ2VudENvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBVc2VyQWdlbnRJbnB1dENvbmZpZ1xuKTogVCAmIFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBjdXN0b21Vc2VyQWdlbnQ6IHR5cGVvZiBpbnB1dC5jdXN0b21Vc2VyQWdlbnQgPT09IFwic3RyaW5nXCIgPyBbW2lucHV0LmN1c3RvbVVzZXJBZ2VudF1dIDogaW5wdXQuY3VzdG9tVXNlckFnZW50LFxuICB9O1xufVxuIl19
|
package/dist/cjs/constants.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UA_ESCAPE_REGEX = exports.SPACE = exports.X_AMZ_USER_AGENT = exports.USER_AGENT = void 0;
|
|
4
|
-
exports.USER_AGENT = "user-agent";
|
|
5
|
-
exports.X_AMZ_USER_AGENT = "x-amz-user-agent";
|
|
6
|
-
exports.SPACE = " ";
|
|
7
|
-
exports.UA_ESCAPE_REGEX = /[^\!\#\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g;
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFFMUIsUUFBQSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUV0QyxRQUFBLEtBQUssR0FBRyxHQUFHLENBQUM7QUFFWixRQUFBLGVBQWUsR0FBRyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBVU0VSX0FHRU5UID0gXCJ1c2VyLWFnZW50XCI7XG5cbmV4cG9ydCBjb25zdCBYX0FNWl9VU0VSX0FHRU5UID0gXCJ4LWFtei11c2VyLWFnZW50XCI7XG5cbmV4cG9ydCBjb25zdCBTUEFDRSA9IFwiIFwiO1xuXG5leHBvcnQgY29uc3QgVUFfRVNDQVBFX1JFR0VYID0gL1teXFwhXFwjXFwkXFwlXFwmXFwnXFwqXFwrXFwtXFwuXFxeXFxfXFxgXFx8XFx+XFxkXFx3XS9nO1xuIl19
|
package/dist/cjs/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
(0, tslib_1.__exportStar)(require("./configurations"), exports);
|
|
5
|
-
(0, tslib_1.__exportStar)(require("./user-agent-middleware"), exports);
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0VBQWlDO0FBQ2pDLHVFQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91c2VyLWFnZW50LW1pZGRsZXdhcmVcIjtcbiJdfQ==
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUserAgentPlugin = exports.getUserAgentMiddlewareOptions = exports.userAgentMiddleware = void 0;
|
|
4
|
-
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
-
const constants_1 = require("./constants");
|
|
6
|
-
/**
|
|
7
|
-
* Build user agent header sections from:
|
|
8
|
-
* 1. runtime-specific default user agent provider;
|
|
9
|
-
* 2. custom user agent from `customUserAgent` client config;
|
|
10
|
-
* 3. handler execution context set by internal SDK components;
|
|
11
|
-
* The built user agent will be set to `x-amz-user-agent` header for ALL the
|
|
12
|
-
* runtimes.
|
|
13
|
-
* Please note that any override to the `user-agent` or `x-amz-user-agent` header
|
|
14
|
-
* in the HTTP request is discouraged. Please use `customUserAgent` client
|
|
15
|
-
* config or middleware setting the `userAgent` context to generate desired user
|
|
16
|
-
* agent.
|
|
17
|
-
*/
|
|
18
|
-
const userAgentMiddleware = (options) => (next, context) => async (args) => {
|
|
19
|
-
var _a, _b;
|
|
20
|
-
const { request } = args;
|
|
21
|
-
if (!protocol_http_1.HttpRequest.isInstance(request))
|
|
22
|
-
return next(args);
|
|
23
|
-
const { headers } = request;
|
|
24
|
-
const userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];
|
|
25
|
-
const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);
|
|
26
|
-
const customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];
|
|
27
|
-
// Set value to AWS-specific user agent header
|
|
28
|
-
const sdkUserAgentValue = [...defaultUserAgent, ...userAgent, ...customUserAgent].join(constants_1.SPACE);
|
|
29
|
-
// Get value to be sent with non-AWS-specific user agent header.
|
|
30
|
-
const normalUAValue = [
|
|
31
|
-
...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")),
|
|
32
|
-
...customUserAgent,
|
|
33
|
-
].join(constants_1.SPACE);
|
|
34
|
-
if (options.runtime !== "browser") {
|
|
35
|
-
if (normalUAValue) {
|
|
36
|
-
headers[constants_1.X_AMZ_USER_AGENT] = headers[constants_1.X_AMZ_USER_AGENT]
|
|
37
|
-
? `${headers[constants_1.USER_AGENT]} ${normalUAValue}`
|
|
38
|
-
: normalUAValue;
|
|
39
|
-
}
|
|
40
|
-
headers[constants_1.USER_AGENT] = sdkUserAgentValue;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
headers[constants_1.X_AMZ_USER_AGENT] = sdkUserAgentValue;
|
|
44
|
-
}
|
|
45
|
-
return next({
|
|
46
|
-
...args,
|
|
47
|
-
request,
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
exports.userAgentMiddleware = userAgentMiddleware;
|
|
51
|
-
/**
|
|
52
|
-
* Escape the each pair according to https://tools.ietf.org/html/rfc5234 and join the pair with pattern `name/version`.
|
|
53
|
-
* User agent name may include prefix like `md/`, `api/`, `os/` etc., we should not escape the `/` after the prefix.
|
|
54
|
-
* @private
|
|
55
|
-
*/
|
|
56
|
-
const escapeUserAgent = ([name, version]) => {
|
|
57
|
-
const prefixSeparatorIndex = name.indexOf("/");
|
|
58
|
-
const prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just ""
|
|
59
|
-
let uaName = name.substring(prefixSeparatorIndex + 1);
|
|
60
|
-
if (prefix === "api") {
|
|
61
|
-
uaName = uaName.toLowerCase();
|
|
62
|
-
}
|
|
63
|
-
return [prefix, uaName, version]
|
|
64
|
-
.filter((item) => item && item.length > 0)
|
|
65
|
-
.map((item) => item === null || item === void 0 ? void 0 : item.replace(constants_1.UA_ESCAPE_REGEX, "_"))
|
|
66
|
-
.join("/");
|
|
67
|
-
};
|
|
68
|
-
exports.getUserAgentMiddlewareOptions = {
|
|
69
|
-
name: "getUserAgentMiddleware",
|
|
70
|
-
step: "build",
|
|
71
|
-
priority: "low",
|
|
72
|
-
tags: ["SET_USER_AGENT", "USER_AGENT"],
|
|
73
|
-
override: true,
|
|
74
|
-
};
|
|
75
|
-
const getUserAgentPlugin = (config) => ({
|
|
76
|
-
applyToStack: (clientStack) => {
|
|
77
|
-
clientStack.add((0, exports.userAgentMiddleware)(config), exports.getUserAgentMiddlewareOptions);
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
exports.getUserAgentPlugin = getUserAgentPlugin;
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VzZXItYWdlbnQtbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFjckQsMkNBQW1GO0FBRW5GOzs7Ozs7Ozs7OztHQVdHO0FBQ0ksTUFBTSxtQkFBbUIsR0FDOUIsQ0FBQyxPQUFnQyxFQUFFLEVBQUUsQ0FDckMsQ0FDRSxJQUE0QixFQUM1QixPQUFnQyxFQUNSLEVBQUUsQ0FDNUIsS0FBSyxFQUFFLElBQWdDLEVBQXVDLEVBQUU7O0lBQzlFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDekIsSUFBSSxDQUFDLDJCQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7SUFDNUIsTUFBTSxTQUFTLEdBQUcsQ0FBQSxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxTQUFTLDBDQUFFLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSSxFQUFFLENBQUM7SUFDakUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sT0FBTyxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDekYsTUFBTSxlQUFlLEdBQUcsQ0FBQSxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxlQUFlLDBDQUFFLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSSxFQUFFLENBQUM7SUFFN0UsOENBQThDO0lBQzlDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQixFQUFFLEdBQUcsU0FBUyxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFLLENBQUMsQ0FBQztJQUM5RixnRUFBZ0U7SUFDaEUsTUFBTSxhQUFhLEdBQUc7UUFDcEIsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkUsR0FBRyxlQUFlO0tBQ25CLENBQUMsSUFBSSxDQUFDLGlCQUFLLENBQUMsQ0FBQztJQUVkLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUU7UUFDakMsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxDQUFDLDRCQUFnQixDQUFDLEdBQUcsT0FBTyxDQUFDLDRCQUFnQixDQUFDO2dCQUNuRCxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsc0JBQVUsQ0FBQyxJQUFJLGFBQWEsRUFBRTtnQkFDM0MsQ0FBQyxDQUFDLGFBQWEsQ0FBQztTQUNuQjtRQUNELE9BQU8sQ0FBQyxzQkFBVSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7S0FDekM7U0FBTTtRQUNMLE9BQU8sQ0FBQyw0QkFBZ0IsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO0tBQy9DO0lBRUQsT0FBTyxJQUFJLENBQUM7UUFDVixHQUFHLElBQUk7UUFDUCxPQUFPO0tBQ1IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBckNTLFFBQUEsbUJBQW1CLHVCQXFDNUI7QUFFSjs7OztHQUlHO0FBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQWdCLEVBQVUsRUFBRTtJQUNqRSxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztJQUMxRixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RELElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTtRQUNwQixNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0tBQy9CO0lBQ0QsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ3pDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sQ0FBQywyQkFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQTJDO0lBQ25GLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsSUFBSSxFQUFFLE9BQU87SUFDYixRQUFRLEVBQUUsS0FBSztJQUNmLElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztJQUN0QyxRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFSyxNQUFNLGtCQUFrQixHQUFHLENBQUMsTUFBK0IsRUFBdUIsRUFBRSxDQUFDLENBQUM7SUFDM0YsWUFBWSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDNUIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFBLDJCQUFtQixFQUFDLE1BQU0sQ0FBQyxFQUFFLHFDQUE2QixDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsa0JBQWtCLHNCQUk1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEFic29sdXRlTG9jYXRpb24sXG4gIEJ1aWxkSGFuZGxlcixcbiAgQnVpbGRIYW5kbGVyQXJndW1lbnRzLFxuICBCdWlsZEhhbmRsZXJPcHRpb25zLFxuICBCdWlsZEhhbmRsZXJPdXRwdXQsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxuICBVc2VyQWdlbnRQYWlyLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgVXNlckFnZW50UmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuaW1wb3J0IHsgU1BBQ0UsIFVBX0VTQ0FQRV9SRUdFWCwgVVNFUl9BR0VOVCwgWF9BTVpfVVNFUl9BR0VOVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEJ1aWxkIHVzZXIgYWdlbnQgaGVhZGVyIHNlY3Rpb25zIGZyb206XG4gKiAxLiBydW50aW1lLXNwZWNpZmljIGRlZmF1bHQgdXNlciBhZ2VudCBwcm92aWRlcjtcbiAqIDIuIGN1c3RvbSB1c2VyIGFnZW50IGZyb20gYGN1c3RvbVVzZXJBZ2VudGAgY2xpZW50IGNvbmZpZztcbiAqIDMuIGhhbmRsZXIgZXhlY3V0aW9uIGNvbnRleHQgc2V0IGJ5IGludGVybmFsIFNESyBjb21wb25lbnRzO1xuICogVGhlIGJ1aWx0IHVzZXIgYWdlbnQgd2lsbCBiZSBzZXQgdG8gYHgtYW16LXVzZXItYWdlbnRgIGhlYWRlciBmb3IgQUxMIHRoZVxuICogcnVudGltZXMuXG4gKiBQbGVhc2Ugbm90ZSB0aGF0IGFueSBvdmVycmlkZSB0byB0aGUgYHVzZXItYWdlbnRgIG9yIGB4LWFtei11c2VyLWFnZW50YCBoZWFkZXJcbiAqIGluIHRoZSBIVFRQIHJlcXVlc3QgaXMgZGlzY291cmFnZWQuIFBsZWFzZSB1c2UgYGN1c3RvbVVzZXJBZ2VudGAgY2xpZW50XG4gKiBjb25maWcgb3IgbWlkZGxld2FyZSBzZXR0aW5nIHRoZSBgdXNlckFnZW50YCBjb250ZXh0IHRvIGdlbmVyYXRlIGRlc2lyZWQgdXNlclxuICogYWdlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VyQWdlbnRNaWRkbGV3YXJlID1cbiAgKG9wdGlvbnM6IFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnKSA9PlxuICA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KFxuICAgIG5leHQ6IEJ1aWxkSGFuZGxlcjxhbnksIGFueT4sXG4gICAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbiAgKTogQnVpbGRIYW5kbGVyPGFueSwgYW55PiA9PlxuICBhc3luYyAoYXJnczogQnVpbGRIYW5kbGVyQXJndW1lbnRzPGFueT4pOiBQcm9taXNlPEJ1aWxkSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgY29uc3QgeyByZXF1ZXN0IH0gPSBhcmdzO1xuICAgIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgY29uc3QgeyBoZWFkZXJzIH0gPSByZXF1ZXN0O1xuICAgIGNvbnN0IHVzZXJBZ2VudCA9IGNvbnRleHQ/LnVzZXJBZ2VudD8ubWFwKGVzY2FwZVVzZXJBZ2VudCkgfHwgW107XG4gICAgY29uc3QgZGVmYXVsdFVzZXJBZ2VudCA9IChhd2FpdCBvcHRpb25zLmRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcigpKS5tYXAoZXNjYXBlVXNlckFnZW50KTtcbiAgICBjb25zdCBjdXN0b21Vc2VyQWdlbnQgPSBvcHRpb25zPy5jdXN0b21Vc2VyQWdlbnQ/Lm1hcChlc2NhcGVVc2VyQWdlbnQpIHx8IFtdO1xuXG4gICAgLy8gU2V0IHZhbHVlIHRvIEFXUy1zcGVjaWZpYyB1c2VyIGFnZW50IGhlYWRlclxuICAgIGNvbnN0IHNka1VzZXJBZ2VudFZhbHVlID0gWy4uLmRlZmF1bHRVc2VyQWdlbnQsIC4uLnVzZXJBZ2VudCwgLi4uY3VzdG9tVXNlckFnZW50XS5qb2luKFNQQUNFKTtcbiAgICAvLyBHZXQgdmFsdWUgdG8gYmUgc2VudCB3aXRoIG5vbi1BV1Mtc3BlY2lmaWMgdXNlciBhZ2VudCBoZWFkZXIuXG4gICAgY29uc3Qgbm9ybWFsVUFWYWx1ZSA9IFtcbiAgICAgIC4uLmRlZmF1bHRVc2VyQWdlbnQuZmlsdGVyKChzZWN0aW9uKSA9PiBzZWN0aW9uLnN0YXJ0c1dpdGgoXCJhd3Mtc2RrLVwiKSksXG4gICAgICAuLi5jdXN0b21Vc2VyQWdlbnQsXG4gICAgXS5qb2luKFNQQUNFKTtcblxuICAgIGlmIChvcHRpb25zLnJ1bnRpbWUgIT09IFwiYnJvd3NlclwiKSB7XG4gICAgICBpZiAobm9ybWFsVUFWYWx1ZSkge1xuICAgICAgICBoZWFkZXJzW1hfQU1aX1VTRVJfQUdFTlRdID0gaGVhZGVyc1tYX0FNWl9VU0VSX0FHRU5UXVxuICAgICAgICAgID8gYCR7aGVhZGVyc1tVU0VSX0FHRU5UXX0gJHtub3JtYWxVQVZhbHVlfWBcbiAgICAgICAgICA6IG5vcm1hbFVBVmFsdWU7XG4gICAgICB9XG4gICAgICBoZWFkZXJzW1VTRVJfQUdFTlRdID0gc2RrVXNlckFnZW50VmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhlYWRlcnNbWF9BTVpfVVNFUl9BR0VOVF0gPSBzZGtVc2VyQWdlbnRWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV4dCh7XG4gICAgICAuLi5hcmdzLFxuICAgICAgcmVxdWVzdCxcbiAgICB9KTtcbiAgfTtcblxuLyoqXG4gKiBFc2NhcGUgdGhlIGVhY2ggcGFpciBhY2NvcmRpbmcgdG8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzUyMzQgYW5kIGpvaW4gdGhlIHBhaXIgd2l0aCBwYXR0ZXJuIGBuYW1lL3ZlcnNpb25gLlxuICogVXNlciBhZ2VudCBuYW1lIG1heSBpbmNsdWRlIHByZWZpeCBsaWtlIGBtZC9gLCBgYXBpL2AsIGBvcy9gIGV0Yy4sIHdlIHNob3VsZCBub3QgZXNjYXBlIHRoZSBgL2AgYWZ0ZXIgdGhlIHByZWZpeC5cbiAqIEBwcml2YXRlXG4gKi9cbmNvbnN0IGVzY2FwZVVzZXJBZ2VudCA9IChbbmFtZSwgdmVyc2lvbl06IFVzZXJBZ2VudFBhaXIpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwcmVmaXhTZXBhcmF0b3JJbmRleCA9IG5hbWUuaW5kZXhPZihcIi9cIik7XG4gIGNvbnN0IHByZWZpeCA9IG5hbWUuc3Vic3RyaW5nKDAsIHByZWZpeFNlcGFyYXRvckluZGV4KTsgLy8gSWYgbm8gcHJlZml4LCBwcmVmaXggaXMganVzdCBcIlwiXG4gIGxldCB1YU5hbWUgPSBuYW1lLnN1YnN0cmluZyhwcmVmaXhTZXBhcmF0b3JJbmRleCArIDEpO1xuICBpZiAocHJlZml4ID09PSBcImFwaVwiKSB7XG4gICAgdWFOYW1lID0gdWFOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIH1cbiAgcmV0dXJuIFtwcmVmaXgsIHVhTmFtZSwgdmVyc2lvbl1cbiAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICYmIGl0ZW0ubGVuZ3RoID4gMClcbiAgICAubWFwKChpdGVtKSA9PiBpdGVtPy5yZXBsYWNlKFVBX0VTQ0FQRV9SRUdFWCwgXCJfXCIpKVxuICAgIC5qb2luKFwiL1wiKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyQWdlbnRNaWRkbGV3YXJlT3B0aW9uczogQnVpbGRIYW5kbGVyT3B0aW9ucyAmIEFic29sdXRlTG9jYXRpb24gPSB7XG4gIG5hbWU6IFwiZ2V0VXNlckFnZW50TWlkZGxld2FyZVwiLFxuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHByaW9yaXR5OiBcImxvd1wiLFxuICB0YWdzOiBbXCJTRVRfVVNFUl9BR0VOVFwiLCBcIlVTRVJfQUdFTlRcIl0sXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldFVzZXJBZ2VudFBsdWdpbiA9IChjb25maWc6IFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZCh1c2VyQWdlbnRNaWRkbGV3YXJlKGNvbmZpZyksIGdldFVzZXJBZ2VudE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
2
|
-
export function resolveUserAgentConfig(input) {
|
|
3
|
-
return __assign(__assign({}, input), { customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent });
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQTBCQSxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLEtBQW9EO0lBRXBELDZCQUNLLEtBQUssS0FDUixlQUFlLEVBQUUsT0FBTyxLQUFLLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUM5RztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgVXNlckFnZW50IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJBZ2VudElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdXNlciBhZ2VudCBoZWFkZXIgdGhhdCB3b3VsZCBiZSBhcHBlbmRlZCB0byBkZWZhdWx0IG9uZVxuICAgKi9cbiAgY3VzdG9tVXNlckFnZW50Pzogc3RyaW5nIHwgVXNlckFnZW50O1xufVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcjogUHJvdmlkZXI8VXNlckFnZW50PjtcbiAgcnVudGltZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgcHJvdmlkZXIgcG9wdWxhdGluZyBkZWZhdWx0IHRyYWNraW5nIGluZm9ybWF0aW9uIHRvIGJlIHNlbnQgd2l0aCBgdXNlci1hZ2VudGAsIGB4LWFtei11c2VyLWFnZW50YCBoZWFkZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZGVmYXVsdFVzZXJBZ2VudFByb3ZpZGVyOiBQcm92aWRlcjxVc2VyQWdlbnQ+O1xuICAvKipcbiAgICogVGhlIGN1c3RvbSB1c2VyIGFnZW50IGhlYWRlciB0aGF0IHdvdWxkIGJlIGFwcGVuZGVkIHRvIGRlZmF1bHQgb25lXG4gICAqL1xuICBjdXN0b21Vc2VyQWdlbnQ/OiBVc2VyQWdlbnQ7XG4gIC8qKlxuICAgKiBUaGUgcnVudGltZSBlbnZpcm9ubWVudFxuICAgKi9cbiAgcnVudGltZTogc3RyaW5nO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVVc2VyQWdlbnRDb25maWc8VD4oXG4gIGlucHV0OiBUICYgUHJldmlvdXNseVJlc29sdmVkICYgVXNlckFnZW50SW5wdXRDb25maWdcbik6IFQgJiBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgY3VzdG9tVXNlckFnZW50OiB0eXBlb2YgaW5wdXQuY3VzdG9tVXNlckFnZW50ID09PSBcInN0cmluZ1wiID8gW1tpbnB1dC5jdXN0b21Vc2VyQWdlbnRdXSA6IGlucHV0LmN1c3RvbVVzZXJBZ2VudCxcbiAgfTtcbn1cbiJdfQ==
|
package/dist/es/constants.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export var USER_AGENT = "user-agent";
|
|
2
|
-
export var X_AMZ_USER_AGENT = "x-amz-user-agent";
|
|
3
|
-
export var SPACE = " ";
|
|
4
|
-
export var UA_ESCAPE_REGEX = /[^\!\#\$\%\&\'\*\+\-\.\^\_\`\|\~\d\w]/g;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxJQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFFekIsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVTRVJfQUdFTlQgPSBcInVzZXItYWdlbnRcIjtcblxuZXhwb3J0IGNvbnN0IFhfQU1aX1VTRVJfQUdFTlQgPSBcIngtYW16LXVzZXItYWdlbnRcIjtcblxuZXhwb3J0IGNvbnN0IFNQQUNFID0gXCIgXCI7XG5cbmV4cG9ydCBjb25zdCBVQV9FU0NBUEVfUkVHRVggPSAvW15cXCFcXCNcXCRcXCVcXCZcXCdcXCpcXCtcXC1cXC5cXF5cXF9cXGBcXHxcXH5cXGRcXHddL2c7XG4iXX0=
|
package/dist/es/index.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from "./configurations";
|
|
2
|
-
export * from "./user-agent-middleware";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItYWdlbnQtbWlkZGxld2FyZVwiO1xuIl19
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
|
|
2
|
-
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
3
|
-
import { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from "./constants";
|
|
4
|
-
/**
|
|
5
|
-
* Build user agent header sections from:
|
|
6
|
-
* 1. runtime-specific default user agent provider;
|
|
7
|
-
* 2. custom user agent from `customUserAgent` client config;
|
|
8
|
-
* 3. handler execution context set by internal SDK components;
|
|
9
|
-
* The built user agent will be set to `x-amz-user-agent` header for ALL the
|
|
10
|
-
* runtimes.
|
|
11
|
-
* Please note that any override to the `user-agent` or `x-amz-user-agent` header
|
|
12
|
-
* in the HTTP request is discouraged. Please use `customUserAgent` client
|
|
13
|
-
* config or middleware setting the `userAgent` context to generate desired user
|
|
14
|
-
* agent.
|
|
15
|
-
*/
|
|
16
|
-
export var userAgentMiddleware = function (options) {
|
|
17
|
-
return function (next, context) {
|
|
18
|
-
return function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
19
|
-
var request, headers, userAgent, defaultUserAgent, customUserAgent, sdkUserAgentValue, normalUAValue;
|
|
20
|
-
var _a, _b;
|
|
21
|
-
return __generator(this, function (_c) {
|
|
22
|
-
switch (_c.label) {
|
|
23
|
-
case 0:
|
|
24
|
-
request = args.request;
|
|
25
|
-
if (!HttpRequest.isInstance(request))
|
|
26
|
-
return [2 /*return*/, next(args)];
|
|
27
|
-
headers = request.headers;
|
|
28
|
-
userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];
|
|
29
|
-
return [4 /*yield*/, options.defaultUserAgentProvider()];
|
|
30
|
-
case 1:
|
|
31
|
-
defaultUserAgent = (_c.sent()).map(escapeUserAgent);
|
|
32
|
-
customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];
|
|
33
|
-
sdkUserAgentValue = __spreadArray(__spreadArray(__spreadArray([], __read(defaultUserAgent), false), __read(userAgent), false), __read(customUserAgent), false).join(SPACE);
|
|
34
|
-
normalUAValue = __spreadArray(__spreadArray([], __read(defaultUserAgent.filter(function (section) { return section.startsWith("aws-sdk-"); })), false), __read(customUserAgent), false).join(SPACE);
|
|
35
|
-
if (options.runtime !== "browser") {
|
|
36
|
-
if (normalUAValue) {
|
|
37
|
-
headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]
|
|
38
|
-
? headers[USER_AGENT] + " " + normalUAValue
|
|
39
|
-
: normalUAValue;
|
|
40
|
-
}
|
|
41
|
-
headers[USER_AGENT] = sdkUserAgentValue;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;
|
|
45
|
-
}
|
|
46
|
-
return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}); };
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Escape the each pair according to https://tools.ietf.org/html/rfc5234 and join the pair with pattern `name/version`.
|
|
54
|
-
* User agent name may include prefix like `md/`, `api/`, `os/` etc., we should not escape the `/` after the prefix.
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
var escapeUserAgent = function (_a) {
|
|
58
|
-
var _b = __read(_a, 2), name = _b[0], version = _b[1];
|
|
59
|
-
var prefixSeparatorIndex = name.indexOf("/");
|
|
60
|
-
var prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just ""
|
|
61
|
-
var uaName = name.substring(prefixSeparatorIndex + 1);
|
|
62
|
-
if (prefix === "api") {
|
|
63
|
-
uaName = uaName.toLowerCase();
|
|
64
|
-
}
|
|
65
|
-
return [prefix, uaName, version]
|
|
66
|
-
.filter(function (item) { return item && item.length > 0; })
|
|
67
|
-
.map(function (item) { return item === null || item === void 0 ? void 0 : item.replace(UA_ESCAPE_REGEX, "_"); })
|
|
68
|
-
.join("/");
|
|
69
|
-
};
|
|
70
|
-
export var getUserAgentMiddlewareOptions = {
|
|
71
|
-
name: "getUserAgentMiddleware",
|
|
72
|
-
step: "build",
|
|
73
|
-
priority: "low",
|
|
74
|
-
tags: ["SET_USER_AGENT", "USER_AGENT"],
|
|
75
|
-
override: true,
|
|
76
|
-
};
|
|
77
|
-
export var getUserAgentPlugin = function (config) { return ({
|
|
78
|
-
applyToStack: function (clientStack) {
|
|
79
|
-
clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);
|
|
80
|
-
},
|
|
81
|
-
}); };
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VzZXItYWdlbnQtbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBY3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUM5QixVQUFDLE9BQWdDO0lBQ2pDLE9BQUEsVUFDRSxJQUE0QixFQUM1QixPQUFnQztRQUVsQyxPQUFBLFVBQU8sSUFBZ0M7Ozs7Ozt3QkFDN0IsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFVO3dCQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7NEJBQUUsc0JBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDO3dCQUNoRCxPQUFPLEdBQUssT0FBTyxRQUFaLENBQWE7d0JBQ3RCLFNBQVMsR0FBRyxDQUFBLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFNBQVMsMENBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFJLEVBQUUsQ0FBQzt3QkFDdkMscUJBQU0sT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUE7O3dCQUE1RCxnQkFBZ0IsR0FBRyxDQUFDLFNBQXdDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO3dCQUNsRixlQUFlLEdBQUcsQ0FBQSxNQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxlQUFlLDBDQUFFLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSSxFQUFFLENBQUM7d0JBR3ZFLGlCQUFpQixHQUFHLHFEQUFJLGdCQUFnQixrQkFBSyxTQUFTLGtCQUFLLGVBQWUsVUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBRXhGLGFBQWEsR0FBRyx1Q0FDakIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQyxrQkFDcEUsZUFBZSxVQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBRWQsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTs0QkFDakMsSUFBSSxhQUFhLEVBQUU7Z0NBQ2pCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztvQ0FDbkQsQ0FBQyxDQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBSSxhQUFlO29DQUMzQyxDQUFDLENBQUMsYUFBYSxDQUFDOzZCQUNuQjs0QkFDRCxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7eUJBQ3pDOzZCQUFNOzRCQUNMLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO3lCQUMvQzt3QkFFRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOzs7YUFDSjtJQS9CRCxDQStCQztBQW5DRCxDQW1DQyxDQUFDO0FBRUo7Ozs7R0FJRztBQUNILElBQU0sZUFBZSxHQUFHLFVBQUMsRUFBOEI7UUFBOUIsS0FBQSxhQUE4QixFQUE3QixJQUFJLFFBQUEsRUFBRSxPQUFPLFFBQUE7SUFDckMsSUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7SUFDMUYsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUU7UUFDcEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMvQjtJQUNELE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztTQUM3QixNQUFNLENBQUMsVUFBQyxJQUFJLElBQUssT0FBQSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQXZCLENBQXVCLENBQUM7U0FDekMsR0FBRyxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLEVBQW5DLENBQW1DLENBQUM7U0FDbEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sNkJBQTZCLEdBQTJDO0lBQ25GLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsSUFBSSxFQUFFLE9BQU87SUFDYixRQUFRLEVBQUUsS0FBSztJQUNmLElBQUksRUFBRSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztJQUN0QyxRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxVQUFDLE1BQStCLElBQTBCLE9BQUEsQ0FBQztJQUMzRixZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0YsQ0FBQyxFQUowRixDQUkxRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHtcbiAgQWJzb2x1dGVMb2NhdGlvbixcbiAgQnVpbGRIYW5kbGVyLFxuICBCdWlsZEhhbmRsZXJBcmd1bWVudHMsXG4gIEJ1aWxkSGFuZGxlck9wdGlvbnMsXG4gIEJ1aWxkSGFuZGxlck91dHB1dCxcbiAgSGFuZGxlckV4ZWN1dGlvbkNvbnRleHQsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBQbHVnZ2FibGUsXG4gIFVzZXJBZ2VudFBhaXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5pbXBvcnQgeyBTUEFDRSwgVUFfRVNDQVBFX1JFR0VYLCBVU0VSX0FHRU5ULCBYX0FNWl9VU0VSX0FHRU5UIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQnVpbGQgdXNlciBhZ2VudCBoZWFkZXIgc2VjdGlvbnMgZnJvbTpcbiAqIDEuIHJ1bnRpbWUtc3BlY2lmaWMgZGVmYXVsdCB1c2VyIGFnZW50IHByb3ZpZGVyO1xuICogMi4gY3VzdG9tIHVzZXIgYWdlbnQgZnJvbSBgY3VzdG9tVXNlckFnZW50YCBjbGllbnQgY29uZmlnO1xuICogMy4gaGFuZGxlciBleGVjdXRpb24gY29udGV4dCBzZXQgYnkgaW50ZXJuYWwgU0RLIGNvbXBvbmVudHM7XG4gKiBUaGUgYnVpbHQgdXNlciBhZ2VudCB3aWxsIGJlIHNldCB0byBgeC1hbXotdXNlci1hZ2VudGAgaGVhZGVyIGZvciBBTEwgdGhlXG4gKiBydW50aW1lcy5cbiAqIFBsZWFzZSBub3RlIHRoYXQgYW55IG92ZXJyaWRlIHRvIHRoZSBgdXNlci1hZ2VudGAgb3IgYHgtYW16LXVzZXItYWdlbnRgIGhlYWRlclxuICogaW4gdGhlIEhUVFAgcmVxdWVzdCBpcyBkaXNjb3VyYWdlZC4gUGxlYXNlIHVzZSBgY3VzdG9tVXNlckFnZW50YCBjbGllbnRcbiAqIGNvbmZpZyBvciBtaWRkbGV3YXJlIHNldHRpbmcgdGhlIGB1c2VyQWdlbnRgIGNvbnRleHQgdG8gZ2VuZXJhdGUgZGVzaXJlZCB1c2VyXG4gKiBhZ2VudC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZXJBZ2VudE1pZGRsZXdhcmUgPVxuICAob3B0aW9uczogVXNlckFnZW50UmVzb2x2ZWRDb25maWcpID0+XG4gIDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlcj4oXG4gICAgbmV4dDogQnVpbGRIYW5kbGVyPGFueSwgYW55PixcbiAgICBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dFxuICApOiBCdWlsZEhhbmRsZXI8YW55LCBhbnk+ID0+XG4gIGFzeW5jIChhcmdzOiBCdWlsZEhhbmRsZXJBcmd1bWVudHM8YW55Pik6IFByb21pc2U8QnVpbGRIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgICBjb25zdCB7IHJlcXVlc3QgfSA9IGFyZ3M7XG4gICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKHJlcXVlc3QpKSByZXR1cm4gbmV4dChhcmdzKTtcbiAgICBjb25zdCB7IGhlYWRlcnMgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3QgdXNlckFnZW50ID0gY29udGV4dD8udXNlckFnZW50Py5tYXAoZXNjYXBlVXNlckFnZW50KSB8fCBbXTtcbiAgICBjb25zdCBkZWZhdWx0VXNlckFnZW50ID0gKGF3YWl0IG9wdGlvbnMuZGVmYXVsdFVzZXJBZ2VudFByb3ZpZGVyKCkpLm1hcChlc2NhcGVVc2VyQWdlbnQpO1xuICAgIGNvbnN0IGN1c3RvbVVzZXJBZ2VudCA9IG9wdGlvbnM/LmN1c3RvbVVzZXJBZ2VudD8ubWFwKGVzY2FwZVVzZXJBZ2VudCkgfHwgW107XG5cbiAgICAvLyBTZXQgdmFsdWUgdG8gQVdTLXNwZWNpZmljIHVzZXIgYWdlbnQgaGVhZGVyXG4gICAgY29uc3Qgc2RrVXNlckFnZW50VmFsdWUgPSBbLi4uZGVmYXVsdFVzZXJBZ2VudCwgLi4udXNlckFnZW50LCAuLi5jdXN0b21Vc2VyQWdlbnRdLmpvaW4oU1BBQ0UpO1xuICAgIC8vIEdldCB2YWx1ZSB0byBiZSBzZW50IHdpdGggbm9uLUFXUy1zcGVjaWZpYyB1c2VyIGFnZW50IGhlYWRlci5cbiAgICBjb25zdCBub3JtYWxVQVZhbHVlID0gW1xuICAgICAgLi4uZGVmYXVsdFVzZXJBZ2VudC5maWx0ZXIoKHNlY3Rpb24pID0+IHNlY3Rpb24uc3RhcnRzV2l0aChcImF3cy1zZGstXCIpKSxcbiAgICAgIC4uLmN1c3RvbVVzZXJBZ2VudCxcbiAgICBdLmpvaW4oU1BBQ0UpO1xuXG4gICAgaWYgKG9wdGlvbnMucnVudGltZSAhPT0gXCJicm93c2VyXCIpIHtcbiAgICAgIGlmIChub3JtYWxVQVZhbHVlKSB7XG4gICAgICAgIGhlYWRlcnNbWF9BTVpfVVNFUl9BR0VOVF0gPSBoZWFkZXJzW1hfQU1aX1VTRVJfQUdFTlRdXG4gICAgICAgICAgPyBgJHtoZWFkZXJzW1VTRVJfQUdFTlRdfSAke25vcm1hbFVBVmFsdWV9YFxuICAgICAgICAgIDogbm9ybWFsVUFWYWx1ZTtcbiAgICAgIH1cbiAgICAgIGhlYWRlcnNbVVNFUl9BR0VOVF0gPSBzZGtVc2VyQWdlbnRWYWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGVhZGVyc1tYX0FNWl9VU0VSX0FHRU5UXSA9IHNka1VzZXJBZ2VudFZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBuZXh0KHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICByZXF1ZXN0LFxuICAgIH0pO1xuICB9O1xuXG4vKipcbiAqIEVzY2FwZSB0aGUgZWFjaCBwYWlyIGFjY29yZGluZyB0byBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNTIzNCBhbmQgam9pbiB0aGUgcGFpciB3aXRoIHBhdHRlcm4gYG5hbWUvdmVyc2lvbmAuXG4gKiBVc2VyIGFnZW50IG5hbWUgbWF5IGluY2x1ZGUgcHJlZml4IGxpa2UgYG1kL2AsIGBhcGkvYCwgYG9zL2AgZXRjLiwgd2Ugc2hvdWxkIG5vdCBlc2NhcGUgdGhlIGAvYCBhZnRlciB0aGUgcHJlZml4LlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgZXNjYXBlVXNlckFnZW50ID0gKFtuYW1lLCB2ZXJzaW9uXTogVXNlckFnZW50UGFpcik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHByZWZpeFNlcGFyYXRvckluZGV4ID0gbmFtZS5pbmRleE9mKFwiL1wiKTtcbiAgY29uc3QgcHJlZml4ID0gbmFtZS5zdWJzdHJpbmcoMCwgcHJlZml4U2VwYXJhdG9ySW5kZXgpOyAvLyBJZiBubyBwcmVmaXgsIHByZWZpeCBpcyBqdXN0IFwiXCJcbiAgbGV0IHVhTmFtZSA9IG5hbWUuc3Vic3RyaW5nKHByZWZpeFNlcGFyYXRvckluZGV4ICsgMSk7XG4gIGlmIChwcmVmaXggPT09IFwiYXBpXCIpIHtcbiAgICB1YU5hbWUgPSB1YU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgfVxuICByZXR1cm4gW3ByZWZpeCwgdWFOYW1lLCB2ZXJzaW9uXVxuICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gJiYgaXRlbS5sZW5ndGggPiAwKVxuICAgIC5tYXAoKGl0ZW0pID0+IGl0ZW0/LnJlcGxhY2UoVUFfRVNDQVBFX1JFR0VYLCBcIl9cIikpXG4gICAgLmpvaW4oXCIvXCIpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFVzZXJBZ2VudE1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJnZXRVc2VyQWdlbnRNaWRkbGV3YXJlXCIsXG4gIHN0ZXA6IFwiYnVpbGRcIixcbiAgcHJpb3JpdHk6IFwibG93XCIsXG4gIHRhZ3M6IFtcIlNFVF9VU0VSX0FHRU5UXCIsIFwiVVNFUl9BR0VOVFwiXSxcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlckFnZW50UGx1Z2luID0gKGNvbmZpZzogVXNlckFnZW50UmVzb2x2ZWRDb25maWcpOiBQbHVnZ2FibGU8YW55LCBhbnk+ID0+ICh7XG4gIGFwcGx5VG9TdGFjazogKGNsaWVudFN0YWNrKSA9PiB7XG4gICAgY2xpZW50U3RhY2suYWRkKHVzZXJBZ2VudE1pZGRsZXdhcmUoY29uZmlnKSwgZ2V0VXNlckFnZW50TWlkZGxld2FyZU9wdGlvbnMpO1xuICB9LFxufSk7XG4iXX0=
|
package/src/configurations.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Provider, UserAgent } from "@aws-sdk/types";
|
|
2
|
-
export interface UserAgentInputConfig {
|
|
3
|
-
/**
|
|
4
|
-
* The custom user agent header that would be appended to default one
|
|
5
|
-
*/
|
|
6
|
-
customUserAgent?: string | UserAgent;
|
|
7
|
-
}
|
|
8
|
-
interface PreviouslyResolved {
|
|
9
|
-
defaultUserAgentProvider: Provider<UserAgent>;
|
|
10
|
-
runtime: string;
|
|
11
|
-
}
|
|
12
|
-
export interface UserAgentResolvedConfig {
|
|
13
|
-
/**
|
|
14
|
-
* The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header.
|
|
15
|
-
* @internal
|
|
16
|
-
*/
|
|
17
|
-
defaultUserAgentProvider: Provider<UserAgent>;
|
|
18
|
-
/**
|
|
19
|
-
* The custom user agent header that would be appended to default one
|
|
20
|
-
*/
|
|
21
|
-
customUserAgent?: UserAgent;
|
|
22
|
-
/**
|
|
23
|
-
* The runtime environment
|
|
24
|
-
*/
|
|
25
|
-
runtime: string;
|
|
26
|
-
}
|
|
27
|
-
export function resolveUserAgentConfig<T>(
|
|
28
|
-
input: T & PreviouslyResolved & UserAgentInputConfig
|
|
29
|
-
): T & UserAgentResolvedConfig {
|
|
30
|
-
return {
|
|
31
|
-
...input,
|
|
32
|
-
customUserAgent: typeof input.customUserAgent === "string" ? [[input.customUserAgent]] : input.customUserAgent,
|
|
33
|
-
};
|
|
34
|
-
}
|
package/src/constants.ts
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
2
|
-
import {
|
|
3
|
-
AbsoluteLocation,
|
|
4
|
-
BuildHandler,
|
|
5
|
-
BuildHandlerArguments,
|
|
6
|
-
BuildHandlerOptions,
|
|
7
|
-
BuildHandlerOutput,
|
|
8
|
-
HandlerExecutionContext,
|
|
9
|
-
MetadataBearer,
|
|
10
|
-
Pluggable,
|
|
11
|
-
UserAgentPair,
|
|
12
|
-
} from "@aws-sdk/types";
|
|
13
|
-
|
|
14
|
-
import { UserAgentResolvedConfig } from "./configurations";
|
|
15
|
-
import { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from "./constants";
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Build user agent header sections from:
|
|
19
|
-
* 1. runtime-specific default user agent provider;
|
|
20
|
-
* 2. custom user agent from `customUserAgent` client config;
|
|
21
|
-
* 3. handler execution context set by internal SDK components;
|
|
22
|
-
* The built user agent will be set to `x-amz-user-agent` header for ALL the
|
|
23
|
-
* runtimes.
|
|
24
|
-
* Please note that any override to the `user-agent` or `x-amz-user-agent` header
|
|
25
|
-
* in the HTTP request is discouraged. Please use `customUserAgent` client
|
|
26
|
-
* config or middleware setting the `userAgent` context to generate desired user
|
|
27
|
-
* agent.
|
|
28
|
-
*/
|
|
29
|
-
export const userAgentMiddleware =
|
|
30
|
-
(options: UserAgentResolvedConfig) =>
|
|
31
|
-
<Output extends MetadataBearer>(
|
|
32
|
-
next: BuildHandler<any, any>,
|
|
33
|
-
context: HandlerExecutionContext
|
|
34
|
-
): BuildHandler<any, any> =>
|
|
35
|
-
async (args: BuildHandlerArguments<any>): Promise<BuildHandlerOutput<Output>> => {
|
|
36
|
-
const { request } = args;
|
|
37
|
-
if (!HttpRequest.isInstance(request)) return next(args);
|
|
38
|
-
const { headers } = request;
|
|
39
|
-
const userAgent = context?.userAgent?.map(escapeUserAgent) || [];
|
|
40
|
-
const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);
|
|
41
|
-
const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];
|
|
42
|
-
|
|
43
|
-
// Set value to AWS-specific user agent header
|
|
44
|
-
const sdkUserAgentValue = [...defaultUserAgent, ...userAgent, ...customUserAgent].join(SPACE);
|
|
45
|
-
// Get value to be sent with non-AWS-specific user agent header.
|
|
46
|
-
const normalUAValue = [
|
|
47
|
-
...defaultUserAgent.filter((section) => section.startsWith("aws-sdk-")),
|
|
48
|
-
...customUserAgent,
|
|
49
|
-
].join(SPACE);
|
|
50
|
-
|
|
51
|
-
if (options.runtime !== "browser") {
|
|
52
|
-
if (normalUAValue) {
|
|
53
|
-
headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]
|
|
54
|
-
? `${headers[USER_AGENT]} ${normalUAValue}`
|
|
55
|
-
: normalUAValue;
|
|
56
|
-
}
|
|
57
|
-
headers[USER_AGENT] = sdkUserAgentValue;
|
|
58
|
-
} else {
|
|
59
|
-
headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return next({
|
|
63
|
-
...args,
|
|
64
|
-
request,
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Escape the each pair according to https://tools.ietf.org/html/rfc5234 and join the pair with pattern `name/version`.
|
|
70
|
-
* User agent name may include prefix like `md/`, `api/`, `os/` etc., we should not escape the `/` after the prefix.
|
|
71
|
-
* @private
|
|
72
|
-
*/
|
|
73
|
-
const escapeUserAgent = ([name, version]: UserAgentPair): string => {
|
|
74
|
-
const prefixSeparatorIndex = name.indexOf("/");
|
|
75
|
-
const prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just ""
|
|
76
|
-
let uaName = name.substring(prefixSeparatorIndex + 1);
|
|
77
|
-
if (prefix === "api") {
|
|
78
|
-
uaName = uaName.toLowerCase();
|
|
79
|
-
}
|
|
80
|
-
return [prefix, uaName, version]
|
|
81
|
-
.filter((item) => item && item.length > 0)
|
|
82
|
-
.map((item) => item?.replace(UA_ESCAPE_REGEX, "_"))
|
|
83
|
-
.join("/");
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export const getUserAgentMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation = {
|
|
87
|
-
name: "getUserAgentMiddleware",
|
|
88
|
-
step: "build",
|
|
89
|
-
priority: "low",
|
|
90
|
-
tags: ["SET_USER_AGENT", "USER_AGENT"],
|
|
91
|
-
override: true,
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
export const getUserAgentPlugin = (config: UserAgentResolvedConfig): Pluggable<any, any> => ({
|
|
95
|
-
applyToStack: (clientStack) => {
|
|
96
|
-
clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);
|
|
97
|
-
},
|
|
98
|
-
});
|
package/tsconfig.cjs.json
DELETED
package/tsconfig.es.json
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"lib": ["es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"],
|
|
4
|
-
"declarationDir": "./dist/types",
|
|
5
|
-
"rootDir": "./src",
|
|
6
|
-
"outDir": "./dist/es",
|
|
7
|
-
"baseUrl": "."
|
|
8
|
-
},
|
|
9
|
-
"extends": "../../tsconfig.es.json",
|
|
10
|
-
"include": ["src/"]
|
|
11
|
-
}
|