UNPKG

1.42 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getHostHeaderPlugin = exports.hostHeaderMiddlewareOptions = exports.hostHeaderMiddleware = exports.resolveHostHeaderConfig = void 0;
4const protocol_http_1 = require("@aws-sdk/protocol-http");
5function resolveHostHeaderConfig(input) {
6 return input;
7}
8exports.resolveHostHeaderConfig = resolveHostHeaderConfig;
9const 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};
23exports.hostHeaderMiddleware = hostHeaderMiddleware;
24exports.hostHeaderMiddlewareOptions = {
25 name: "hostHeaderMiddleware",
26 step: "build",
27 priority: "low",
28 tags: ["HOST"],
29 override: true,
30};
31const getHostHeaderPlugin = (options) => ({
32 applyToStack: (clientStack) => {
33 clientStack.add((0, exports.hostHeaderMiddleware)(options), exports.hostHeaderMiddlewareOptions);
34 },
35});
36exports.getHostHeaderPlugin = getHostHeaderPlugin;