@aws-sdk/middleware-host-header 3.34.0 → 3.38.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 +35 -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 +1 -3
- package/package.json +12 -9
- package/dist/cjs/index.js +0 -37
- package/dist/es/index.js +0 -42
- package/src/index.ts +0 -51
- package/tsconfig.cjs.json +0 -9
- package/tsconfig.es.json +0 -10
- package/tsconfig.types.json +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
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.38.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.37.0...v3.38.0) (2021-10-22)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @aws-sdk/middleware-host-header
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.37.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.36.1...v3.37.0) (2021-10-15)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @aws-sdk/middleware-host-header
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [3.36.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.35.0...v3.36.0) (2021-10-08)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* 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))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package @aws-sdk/middleware-host-header
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
# [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
|
|
7
42
|
|
|
8
43
|
|
|
@@ -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
|
|
@@ -5,9 +5,7 @@ interface PreviouslyResolved {
|
|
|
5
5
|
requestHandler: RequestHandler<any, any>;
|
|
6
6
|
}
|
|
7
7
|
export interface HostHeaderResolvedConfig {
|
|
8
|
-
|
|
9
|
-
* The HTTP handler to use. Fetch in browser and Https in Nodejs.
|
|
10
|
-
*/
|
|
8
|
+
|
|
11
9
|
requestHandler: RequestHandler<any, any>;
|
|
12
10
|
}
|
|
13
11
|
export declare function resolveHostHeaderConfig<T>(input: T & PreviouslyResolved & HostHeaderInputConfig): T & HostHeaderResolvedConfig;
|
package/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-sdk/middleware-host-header",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.38.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "yarn build:cjs && yarn build:es && yarn build:types",
|
|
6
6
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
7
7
|
"build:es": "tsc -p tsconfig.es.json",
|
|
8
8
|
"build:types": "tsc -p tsconfig.types.json",
|
|
9
|
-
"downlevel-dts": "downlevel-dts dist
|
|
9
|
+
"downlevel-dts": "downlevel-dts dist-types dist-types/ts3.4",
|
|
10
10
|
"test": "jest"
|
|
11
11
|
},
|
|
12
|
-
"main": "./dist
|
|
13
|
-
"module": "./dist
|
|
14
|
-
"types": "./dist
|
|
12
|
+
"main": "./dist-cjs/index.js",
|
|
13
|
+
"module": "./dist-es/index.js",
|
|
14
|
+
"types": "./dist-types/index.d.ts",
|
|
15
15
|
"author": {
|
|
16
16
|
"name": "AWS SDK for JavaScript Team",
|
|
17
17
|
"url": "https://aws.amazon.com/javascript/"
|
|
18
18
|
},
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@aws-sdk/protocol-http": "3.
|
|
22
|
-
"@aws-sdk/types": "3.
|
|
21
|
+
"@aws-sdk/protocol-http": "3.38.0",
|
|
22
|
+
"@aws-sdk/types": "3.38.0",
|
|
23
23
|
"tslib": "^2.3.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
@@ -32,11 +32,14 @@
|
|
|
32
32
|
},
|
|
33
33
|
"typesVersions": {
|
|
34
34
|
"<4.0": {
|
|
35
|
-
"dist
|
|
36
|
-
"dist
|
|
35
|
+
"dist-types/*": [
|
|
36
|
+
"dist-types/ts3.4/*"
|
|
37
37
|
]
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
|
+
"files": [
|
|
41
|
+
"dist-*"
|
|
42
|
+
],
|
|
40
43
|
"homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages/middleware-host-header",
|
|
41
44
|
"repository": {
|
|
42
45
|
"type": "git",
|
package/dist/cjs/index.js
DELETED
|
@@ -1,37 +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
|
-
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;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXFEO0FBYXJELFNBQWdCLHVCQUF1QixDQUNyQyxLQUFxRDtJQUVyRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFKRCwwREFJQztBQUVNLE1BQU0sb0JBQW9CLEdBQy9CLENBQThDLE9BQWlDLEVBQWtDLEVBQUUsQ0FDbkgsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNULEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUNiLElBQUksQ0FBQywyQkFBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztJQUN6QixNQUFNLEVBQUUsZUFBZSxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUd2RSxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUN4RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7S0FFcEM7U0FBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNuQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7S0FDNUM7SUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFqQlMsUUFBQSxvQkFBb0Isd0JBaUI3QjtBQUVTLFFBQUEsMkJBQTJCLEdBQTJDO0lBQ2pGLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsSUFBSSxFQUFFLE9BQU87SUFDYixRQUFRLEVBQUUsS0FBSztJQUNmLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNkLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVLLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxPQUFpQyxFQUF1QixFQUFFLENBQUMsQ0FBQztJQUM5RixZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixXQUFXLENBQUMsR0FBRyxDQUFDLDRCQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLG1DQUEyQixDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUpVLFFBQUEsbUJBQW1CLHVCQUk3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IEFic29sdXRlTG9jYXRpb24sIEJ1aWxkSGFuZGxlck9wdGlvbnMsIEJ1aWxkTWlkZGxld2FyZSwgUGx1Z2dhYmxlLCBSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJJbnB1dENvbmZpZyB7fVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxhbnksIGFueT47XG59XG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgSFRUUCBoYW5kbGVyIHRvIHVzZS4gRmV0Y2ggaW4gYnJvd3NlciBhbmQgSHR0cHMgaW4gTm9kZWpzLlxuICAgKi9cbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyPGFueSwgYW55Pjtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlSG9zdEhlYWRlckNvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBIb3N0SGVhZGVySW5wdXRDb25maWdcbik6IFQgJiBIb3N0SGVhZGVyUmVzb2x2ZWRDb25maWcge1xuICByZXR1cm4gaW5wdXQ7XG59XG5cbmV4cG9ydCBjb25zdCBob3N0SGVhZGVyTWlkZGxld2FyZSA9XG4gIDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0PihvcHRpb25zOiBIb3N0SGVhZGVyUmVzb2x2ZWRDb25maWcpOiBCdWlsZE1pZGRsZXdhcmU8SW5wdXQsIE91dHB1dD4gPT5cbiAgKG5leHQpID0+XG4gIGFzeW5jIChhcmdzKSA9PiB7XG4gICAgaWYgKCFIdHRwUmVxdWVzdC5pc0luc3RhbmNlKGFyZ3MucmVxdWVzdCkpIHJldHVybiBuZXh0KGFyZ3MpO1xuICAgIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgICBjb25zdCB7IGhhbmRsZXJQcm90b2NvbCA9IFwiXCIgfSA9IG9wdGlvbnMucmVxdWVzdEhhbmRsZXIubWV0YWRhdGEgfHwge307XG4gICAgLy9Gb3IgSDIgcmVxdWVzdCwgcmVtb3ZlICdob3N0JyBoZWFkZXIgYW5kIHVzZSAnOmF1dGhvcml0eScgaGVhZGVyIGluc3RlYWRcbiAgICAvL3JlZmVyZW5jZTogaHR0cHM6Ly9ub2RlanMub3JnL2Rpc3QvbGF0ZXN0LXYxMy54L2RvY3MvYXBpL2Vycm9ycy5odG1sI0VSUl9IVFRQMl9JTlZBTElEX0NPTk5FQ1RJT05fSEVBREVSU1xuICAgIGlmIChoYW5kbGVyUHJvdG9jb2wuaW5kZXhPZihcImgyXCIpID49IDAgJiYgIXJlcXVlc3QuaGVhZGVyc1tcIjphdXRob3JpdHlcIl0pIHtcbiAgICAgIGRlbGV0ZSByZXF1ZXN0LmhlYWRlcnNbXCJob3N0XCJdO1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW1wiOmF1dGhvcml0eVwiXSA9IFwiXCI7XG4gICAgICAvL25vbi1IMiByZXF1ZXN0IGFuZCAnaG9zdCcgaGVhZGVyIGlzIG5vdCBzZXQsIHNldCB0aGUgJ2hvc3QnIGhlYWRlciB0byByZXF1ZXN0J3MgaG9zdG5hbWUuXG4gICAgfSBlbHNlIGlmICghcmVxdWVzdC5oZWFkZXJzW1wiaG9zdFwiXSkge1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW1wiaG9zdFwiXSA9IHJlcXVlc3QuaG9zdG5hbWU7XG4gICAgfVxuICAgIHJldHVybiBuZXh0KGFyZ3MpO1xuICB9O1xuXG5leHBvcnQgY29uc3QgaG9zdEhlYWRlck1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJob3N0SGVhZGVyTWlkZGxld2FyZVwiLFxuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHByaW9yaXR5OiBcImxvd1wiLFxuICB0YWdzOiBbXCJIT1NUXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0SGVhZGVyUGx1Z2luID0gKG9wdGlvbnM6IEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoaG9zdEhlYWRlck1pZGRsZXdhcmUob3B0aW9ucyksIGhvc3RIZWFkZXJNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==
|
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