@aws-sdk/middleware-host-header 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/index.js +36 -0
- package/dist-es/index.js +38 -0
- package/{dist/types → dist-types}/index.d.ts +0 -0
- package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
- package/package.json +15 -11
- package/dist/cjs/index.js +0 -40
- package/dist/es/index.js +0 -42
- package/src/index.ts +0 -51
- 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-host-header
|
|
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-host-header
|
|
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-host-header
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0;
|
|
4
|
+
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
+
function resolveHostHeaderConfig(input) {
|
|
6
|
+
return input;
|
|
7
|
+
}
|
|
8
|
+
exports.resolveHostHeaderConfig = resolveHostHeaderConfig;
|
|
9
|
+
const hostHeaderMiddleware = (options) => (next) => async (args) => {
|
|
10
|
+
if (!protocol_http_1.HttpRequest.isInstance(args.request))
|
|
11
|
+
return next(args);
|
|
12
|
+
const { request } = args;
|
|
13
|
+
const { handlerProtocol = "" } = options.requestHandler.metadata || {};
|
|
14
|
+
if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) {
|
|
15
|
+
delete request.headers["host"];
|
|
16
|
+
request.headers[":authority"] = "";
|
|
17
|
+
}
|
|
18
|
+
else if (!request.headers["host"]) {
|
|
19
|
+
request.headers["host"] = request.hostname;
|
|
20
|
+
}
|
|
21
|
+
return next(args);
|
|
22
|
+
};
|
|
23
|
+
exports.hostHeaderMiddleware = hostHeaderMiddleware;
|
|
24
|
+
exports.hostHeaderMiddlewareOptions = {
|
|
25
|
+
name: "hostHeaderMiddleware",
|
|
26
|
+
step: "build",
|
|
27
|
+
priority: "low",
|
|
28
|
+
tags: ["HOST"],
|
|
29
|
+
override: true,
|
|
30
|
+
};
|
|
31
|
+
const getHostHeaderPlugin = (options) => ({
|
|
32
|
+
applyToStack: (clientStack) => {
|
|
33
|
+
clientStack.add(exports.hostHeaderMiddleware(options), exports.hostHeaderMiddlewareOptions);
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
exports.getHostHeaderPlugin = getHostHeaderPlugin;
|
package/dist-es/index.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
3
|
+
export function resolveHostHeaderConfig(input) {
|
|
4
|
+
return input;
|
|
5
|
+
}
|
|
6
|
+
export var hostHeaderMiddleware = function (options) {
|
|
7
|
+
return function (next) {
|
|
8
|
+
return function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9
|
+
var request, _a, handlerProtocol;
|
|
10
|
+
return __generator(this, function (_b) {
|
|
11
|
+
if (!HttpRequest.isInstance(args.request))
|
|
12
|
+
return [2, next(args)];
|
|
13
|
+
request = args.request;
|
|
14
|
+
_a = (options.requestHandler.metadata || {}).handlerProtocol, handlerProtocol = _a === void 0 ? "" : _a;
|
|
15
|
+
if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) {
|
|
16
|
+
delete request.headers["host"];
|
|
17
|
+
request.headers[":authority"] = "";
|
|
18
|
+
}
|
|
19
|
+
else if (!request.headers["host"]) {
|
|
20
|
+
request.headers["host"] = request.hostname;
|
|
21
|
+
}
|
|
22
|
+
return [2, next(args)];
|
|
23
|
+
});
|
|
24
|
+
}); };
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export var hostHeaderMiddlewareOptions = {
|
|
28
|
+
name: "hostHeaderMiddleware",
|
|
29
|
+
step: "build",
|
|
30
|
+
priority: "low",
|
|
31
|
+
tags: ["HOST"],
|
|
32
|
+
override: true,
|
|
33
|
+
};
|
|
34
|
+
export var getHostHeaderPlugin = function (options) { return ({
|
|
35
|
+
applyToStack: function (clientStack) {
|
|
36
|
+
clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);
|
|
37
|
+
},
|
|
38
|
+
}); };
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,41 +1,45 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-host-header",
|
|
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"
|
|
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
26
|
"@types/jest": "^26.0.4",
|
|
26
27
|
"jest": "^26.1.0",
|
|
27
|
-
"typescript": "~4.
|
|
28
|
+
"typescript": "~4.3.5"
|
|
28
29
|
},
|
|
29
30
|
"engines": {
|
|
30
31
|
"node": ">= 10.0.0"
|
|
31
32
|
},
|
|
32
33
|
"typesVersions": {
|
|
33
34
|
"<4.0": {
|
|
34
|
-
"dist
|
|
35
|
-
"dist
|
|
35
|
+
"dist-types/*": [
|
|
36
|
+
"dist-types/ts3.4/*"
|
|
36
37
|
]
|
|
37
38
|
}
|
|
38
39
|
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist-*"
|
|
42
|
+
],
|
|
39
43
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/middleware-host-header",
|
|
40
44
|
"repository": {
|
|
41
45
|
"type": "git",
|
package/dist/cjs/index.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0;
|
|
4
|
-
const protocol_http_1 = require("@aws-sdk/protocol-http");
|
|
5
|
-
function resolveHostHeaderConfig(input) {
|
|
6
|
-
return input;
|
|
7
|
-
}
|
|
8
|
-
exports.resolveHostHeaderConfig = resolveHostHeaderConfig;
|
|
9
|
-
const hostHeaderMiddleware = (options) => (next) => async (args) => {
|
|
10
|
-
if (!protocol_http_1.HttpRequest.isInstance(args.request))
|
|
11
|
-
return next(args);
|
|
12
|
-
const { request } = args;
|
|
13
|
-
const { handlerProtocol = "" } = options.requestHandler.metadata || {};
|
|
14
|
-
//For H2 request, remove 'host' header and use ':authority' header instead
|
|
15
|
-
//reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS
|
|
16
|
-
if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) {
|
|
17
|
-
delete request.headers["host"];
|
|
18
|
-
request.headers[":authority"] = "";
|
|
19
|
-
//non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.
|
|
20
|
-
}
|
|
21
|
-
else if (!request.headers["host"]) {
|
|
22
|
-
request.headers["host"] = request.hostname;
|
|
23
|
-
}
|
|
24
|
-
return next(args);
|
|
25
|
-
};
|
|
26
|
-
exports.hostHeaderMiddleware = hostHeaderMiddleware;
|
|
27
|
-
exports.hostHeaderMiddlewareOptions = {
|
|
28
|
-
name: "hostHeaderMiddleware",
|
|
29
|
-
step: "build",
|
|
30
|
-
priority: "low",
|
|
31
|
-
tags: ["HOST"],
|
|
32
|
-
override: true,
|
|
33
|
-
};
|
|
34
|
-
const getHostHeaderPlugin = (options) => ({
|
|
35
|
-
applyToStack: (clientStack) => {
|
|
36
|
-
clientStack.add((0, exports.hostHeaderMiddleware)(options), exports.hostHeaderMiddlewareOptions);
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
exports.getHostHeaderPlugin = getHostHeaderPlugin;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBYXJELFNBQWdCLHVCQUF1QixDQUNyQyxLQUFxRDtJQUVyRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFKRCwwREFJQztBQUVNLE1BQU0sb0JBQW9CLEdBQy9CLENBQThDLE9BQWlDLEVBQWtDLEVBQUUsQ0FDbkgsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNULEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUNiLElBQUksQ0FBQywyQkFBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUN6QixNQUFNLEVBQUUsZUFBZSxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUN2RSwwRUFBMEU7SUFDMUUsMkdBQTJHO0lBQzNHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQ3hFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuQywyRkFBMkY7S0FDNUY7U0FBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNuQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7S0FDNUM7SUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFqQlMsUUFBQSxvQkFBb0Isd0JBaUI3QjtBQUVTLFFBQUEsMkJBQTJCLEdBQTJDO0lBQ2pGLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsSUFBSSxFQUFFLE9BQU87SUFDYixRQUFRLEVBQUUsS0FBSztJQUNmLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNkLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFpQyxFQUF1QixFQUFFLENBQUMsQ0FBQztJQUM5RixZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLElBQUEsNEJBQW9CLEVBQUMsT0FBTyxDQUFDLEVBQUUsbUNBQTJCLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBSlUsUUFBQSxtQkFBbUIsdUJBSTdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgQWJzb2x1dGVMb2NhdGlvbiwgQnVpbGRIYW5kbGVyT3B0aW9ucywgQnVpbGRNaWRkbGV3YXJlLCBQbHVnZ2FibGUsIFJlcXVlc3RIYW5kbGVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdEhlYWRlcklucHV0Q29uZmlnIHt9XG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyPGFueSwgYW55Pjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdEhlYWRlclJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBIVFRQIGhhbmRsZXIgdG8gdXNlLiBGZXRjaCBpbiBicm93c2VyIGFuZCBIdHRwcyBpbiBOb2RlanMuXG4gICAqL1xuICByZXF1ZXN0SGFuZGxlcjogUmVxdWVzdEhhbmRsZXI8YW55LCBhbnk+O1xufVxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVIb3N0SGVhZGVyQ29uZmlnPFQ+KFxuICBpbnB1dDogVCAmIFByZXZpb3VzbHlSZXNvbHZlZCAmIEhvc3RIZWFkZXJJbnB1dENvbmZpZ1xuKTogVCAmIEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyB7XG4gIHJldHVybiBpbnB1dDtcbn1cblxuZXhwb3J0IGNvbnN0IGhvc3RIZWFkZXJNaWRkbGV3YXJlID1cbiAgPElucHV0IGV4dGVuZHMgb2JqZWN0LCBPdXRwdXQgZXh0ZW5kcyBvYmplY3Q+KG9wdGlvbnM6IEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyk6IEJ1aWxkTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PiA9PlxuICAobmV4dCkgPT5cbiAgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UoYXJncy5yZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gICAgY29uc3QgeyByZXF1ZXN0IH0gPSBhcmdzO1xuICAgIGNvbnN0IHsgaGFuZGxlclByb3RvY29sID0gXCJcIiB9ID0gb3B0aW9ucy5yZXF1ZXN0SGFuZGxlci5tZXRhZGF0YSB8fCB7fTtcbiAgICAvL0ZvciBIMiByZXF1ZXN0LCByZW1vdmUgJ2hvc3QnIGhlYWRlciBhbmQgdXNlICc6YXV0aG9yaXR5JyBoZWFkZXIgaW5zdGVhZFxuICAgIC8vcmVmZXJlbmNlOiBodHRwczovL25vZGVqcy5vcmcvZGlzdC9sYXRlc3QtdjEzLngvZG9jcy9hcGkvZXJyb3JzLmh0bWwjRVJSX0hUVFAyX0lOVkFMSURfQ09OTkVDVElPTl9IRUFERVJTXG4gICAgaWYgKGhhbmRsZXJQcm90b2NvbC5pbmRleE9mKFwiaDJcIikgPj0gMCAmJiAhcmVxdWVzdC5oZWFkZXJzW1wiOmF1dGhvcml0eVwiXSkge1xuICAgICAgZGVsZXRlIHJlcXVlc3QuaGVhZGVyc1tcImhvc3RcIl07XG4gICAgICByZXF1ZXN0LmhlYWRlcnNbXCI6YXV0aG9yaXR5XCJdID0gXCJcIjtcbiAgICAgIC8vbm9uLUgyIHJlcXVlc3QgYW5kICdob3N0JyBoZWFkZXIgaXMgbm90IHNldCwgc2V0IHRoZSAnaG9zdCcgaGVhZGVyIHRvIHJlcXVlc3QncyBob3N0bmFtZS5cbiAgICB9IGVsc2UgaWYgKCFyZXF1ZXN0LmhlYWRlcnNbXCJob3N0XCJdKSB7XG4gICAgICByZXF1ZXN0LmhlYWRlcnNbXCJob3N0XCJdID0gcmVxdWVzdC5ob3N0bmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQoYXJncyk7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBob3N0SGVhZGVyTWlkZGxld2FyZU9wdGlvbnM6IEJ1aWxkSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uID0ge1xuICBuYW1lOiBcImhvc3RIZWFkZXJNaWRkbGV3YXJlXCIsXG4gIHN0ZXA6IFwiYnVpbGRcIixcbiAgcHJpb3JpdHk6IFwibG93XCIsXG4gIHRhZ3M6IFtcIkhPU1RcIl0sXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldEhvc3RIZWFkZXJQbHVnaW4gPSAob3B0aW9uczogSG9zdEhlYWRlclJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChob3N0SGVhZGVyTWlkZGxld2FyZShvcHRpb25zKSwgaG9zdEhlYWRlck1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19
|
package/dist/es/index.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { __awaiter, __generator } from "tslib";
|
|
2
|
-
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
3
|
-
export function resolveHostHeaderConfig(input) {
|
|
4
|
-
return input;
|
|
5
|
-
}
|
|
6
|
-
export var hostHeaderMiddleware = function (options) {
|
|
7
|
-
return function (next) {
|
|
8
|
-
return function (args) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9
|
-
var request, _a, handlerProtocol;
|
|
10
|
-
return __generator(this, function (_b) {
|
|
11
|
-
if (!HttpRequest.isInstance(args.request))
|
|
12
|
-
return [2 /*return*/, next(args)];
|
|
13
|
-
request = args.request;
|
|
14
|
-
_a = (options.requestHandler.metadata || {}).handlerProtocol, handlerProtocol = _a === void 0 ? "" : _a;
|
|
15
|
-
//For H2 request, remove 'host' header and use ':authority' header instead
|
|
16
|
-
//reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS
|
|
17
|
-
if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) {
|
|
18
|
-
delete request.headers["host"];
|
|
19
|
-
request.headers[":authority"] = "";
|
|
20
|
-
//non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.
|
|
21
|
-
}
|
|
22
|
-
else if (!request.headers["host"]) {
|
|
23
|
-
request.headers["host"] = request.hostname;
|
|
24
|
-
}
|
|
25
|
-
return [2 /*return*/, next(args)];
|
|
26
|
-
});
|
|
27
|
-
}); };
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
export var hostHeaderMiddlewareOptions = {
|
|
31
|
-
name: "hostHeaderMiddleware",
|
|
32
|
-
step: "build",
|
|
33
|
-
priority: "low",
|
|
34
|
-
tags: ["HOST"],
|
|
35
|
-
override: true,
|
|
36
|
-
};
|
|
37
|
-
export var getHostHeaderPlugin = function (options) { return ({
|
|
38
|
-
applyToStack: function (clientStack) {
|
|
39
|
-
clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);
|
|
40
|
-
},
|
|
41
|
-
}); };
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWFyRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQXFEO0lBRXJELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUMvQixVQUE4QyxPQUFpQztJQUMvRSxPQUFBLFVBQUMsSUFBSTtRQUNMLE9BQUEsVUFBTyxJQUFJOzs7Z0JBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztvQkFBRSxzQkFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7Z0JBQ3JELE9BQU8sR0FBSyxJQUFJLFFBQVQsQ0FBVTtnQkFDakIsS0FBeUIsQ0FBQSxPQUFPLENBQUMsY0FBYyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUEsZ0JBQTFDLEVBQXBCLGVBQWUsbUJBQUcsRUFBRSxLQUFBLENBQTJDO2dCQUN2RSwwRUFBMEU7Z0JBQzFFLDJHQUEyRztnQkFDM0csSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQ3hFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ25DLDJGQUEyRjtpQkFDNUY7cUJBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ25DLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztpQkFDNUM7Z0JBQ0Qsc0JBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDOzthQUNuQjtJQWRELENBY0M7QUFmRCxDQWVDLENBQUM7QUFFSixNQUFNLENBQUMsSUFBTSwyQkFBMkIsR0FBMkM7SUFDakYsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QixJQUFJLEVBQUUsT0FBTztJQUNiLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ2QsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsVUFBQyxPQUFpQyxJQUEwQixPQUFBLENBQUM7SUFDOUYsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGLENBQUMsRUFKNkYsQ0FJN0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IEFic29sdXRlTG9jYXRpb24sIEJ1aWxkSGFuZGxlck9wdGlvbnMsIEJ1aWxkTWlkZGxld2FyZSwgUGx1Z2dhYmxlLCBSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJJbnB1dENvbmZpZyB7fVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxhbnksIGFueT47XG59XG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgSFRUUCBoYW5kbGVyIHRvIHVzZS4gRmV0Y2ggaW4gYnJvd3NlciBhbmQgSHR0cHMgaW4gTm9kZWpzLlxuICAgKi9cbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyPGFueSwgYW55Pjtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSG9zdEhlYWRlckNvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBIb3N0SGVhZGVySW5wdXRDb25maWdcbik6IFQgJiBIb3N0SGVhZGVyUmVzb2x2ZWRDb25maWcge1xuICByZXR1cm4gaW5wdXQ7XG59XG5cbmV4cG9ydCBjb25zdCBob3N0SGVhZGVyTWlkZGxld2FyZSA9XG4gIDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0PihvcHRpb25zOiBIb3N0SGVhZGVyUmVzb2x2ZWRDb25maWcpOiBCdWlsZE1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4gPT5cbiAgKG5leHQpID0+XG4gIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKGFyZ3MucmVxdWVzdCkpIHJldHVybiBuZXh0KGFyZ3MpO1xuICAgIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgICBjb25zdCB7IGhhbmRsZXJQcm90b2NvbCA9IFwiXCIgfSA9IG9wdGlvbnMucmVxdWVzdEhhbmRsZXIubWV0YWRhdGEgfHwge307XG4gICAgLy9Gb3IgSDIgcmVxdWVzdCwgcmVtb3ZlICdob3N0JyBoZWFkZXIgYW5kIHVzZSAnOmF1dGhvcml0eScgaGVhZGVyIGluc3RlYWRcbiAgICAvL3JlZmVyZW5jZTogaHR0cHM6Ly9ub2RlanMub3JnL2Rpc3QvbGF0ZXN0LXYxMy54L2RvY3MvYXBpL2Vycm9ycy5odG1sI0VSUl9IVFRQMl9JTlZBTElEX0NPTk5FQ1RJT05fSEVBREVSU1xuICAgIGlmIChoYW5kbGVyUHJvdG9jb2wuaW5kZXhPZihcImgyXCIpID49IDAgJiYgIXJlcXVlc3QuaGVhZGVyc1tcIjphdXRob3JpdHlcIl0pIHtcbiAgICAgIGRlbGV0ZSByZXF1ZXN0LmhlYWRlcnNbXCJob3N0XCJdO1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW1wiOmF1dGhvcml0eVwiXSA9IFwiXCI7XG4gICAgICAvL25vbi1IMiByZXF1ZXN0IGFuZCAnaG9zdCcgaGVhZGVyIGlzIG5vdCBzZXQsIHNldCB0aGUgJ2hvc3QnIGhlYWRlciB0byByZXF1ZXN0J3MgaG9zdG5hbWUuXG4gICAgfSBlbHNlIGlmICghcmVxdWVzdC5oZWFkZXJzW1wiaG9zdFwiXSkge1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW1wiaG9zdFwiXSA9IHJlcXVlc3QuaG9zdG5hbWU7XG4gICAgfVxuICAgIHJldHVybiBuZXh0KGFyZ3MpO1xuICB9O1xuXG5leHBvcnQgY29uc3QgaG9zdEhlYWRlck1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJob3N0SGVhZGVyTWlkZGxld2FyZVwiLFxuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHByaW9yaXR5OiBcImxvd1wiLFxuICB0YWdzOiBbXCJIT1NUXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0SGVhZGVyUGx1Z2luID0gKG9wdGlvbnM6IEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoaG9zdEhlYWRlck1pZGRsZXdhcmUob3B0aW9ucyksIGhvc3RIZWFkZXJNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==
|
package/src/index.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { HttpRequest } from "@aws-sdk/protocol-http";
|
|
2
|
-
import { AbsoluteLocation, BuildHandlerOptions, BuildMiddleware, Pluggable, RequestHandler } from "@aws-sdk/types";
|
|
3
|
-
|
|
4
|
-
export interface HostHeaderInputConfig {}
|
|
5
|
-
interface PreviouslyResolved {
|
|
6
|
-
requestHandler: RequestHandler<any, any>;
|
|
7
|
-
}
|
|
8
|
-
export interface HostHeaderResolvedConfig {
|
|
9
|
-
/**
|
|
10
|
-
* The HTTP handler to use. Fetch in browser and Https in Nodejs.
|
|
11
|
-
*/
|
|
12
|
-
requestHandler: RequestHandler<any, any>;
|
|
13
|
-
}
|
|
14
|
-
export function resolveHostHeaderConfig<T>(
|
|
15
|
-
input: T & PreviouslyResolved & HostHeaderInputConfig
|
|
16
|
-
): T & HostHeaderResolvedConfig {
|
|
17
|
-
return input;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export const hostHeaderMiddleware =
|
|
21
|
-
<Input extends object, Output extends object>(options: HostHeaderResolvedConfig): BuildMiddleware<Input, Output> =>
|
|
22
|
-
(next) =>
|
|
23
|
-
async (args) => {
|
|
24
|
-
if (!HttpRequest.isInstance(args.request)) return next(args);
|
|
25
|
-
const { request } = args;
|
|
26
|
-
const { handlerProtocol = "" } = options.requestHandler.metadata || {};
|
|
27
|
-
//For H2 request, remove 'host' header and use ':authority' header instead
|
|
28
|
-
//reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS
|
|
29
|
-
if (handlerProtocol.indexOf("h2") >= 0 && !request.headers[":authority"]) {
|
|
30
|
-
delete request.headers["host"];
|
|
31
|
-
request.headers[":authority"] = "";
|
|
32
|
-
//non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.
|
|
33
|
-
} else if (!request.headers["host"]) {
|
|
34
|
-
request.headers["host"] = request.hostname;
|
|
35
|
-
}
|
|
36
|
-
return next(args);
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export const hostHeaderMiddlewareOptions: BuildHandlerOptions & AbsoluteLocation = {
|
|
40
|
-
name: "hostHeaderMiddleware",
|
|
41
|
-
step: "build",
|
|
42
|
-
priority: "low",
|
|
43
|
-
tags: ["HOST"],
|
|
44
|
-
override: true,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export const getHostHeaderPlugin = (options: HostHeaderResolvedConfig): Pluggable<any, any> => ({
|
|
48
|
-
applyToStack: (clientStack) => {
|
|
49
|
-
clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);
|
|
50
|
-
},
|
|
51
|
-
});
|
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
|
-
}
|