import { retryMiddlewareOptions } from "@smithy/middleware-retry";
import { FinalizeRequestHandlerOptions, Pluggable, RelativeMiddlewareOptions } from "@smithy/types";
import { httpSigningMiddleware } from "./httpSigningMiddleware";
/**
* @internal
*/
export const httpSigningMiddlewareOptions: FinalizeRequestHandlerOptions & RelativeMiddlewareOptions = {
step: "finalizeRequest",
tags: ["HTTP_SIGNING"],
name: "httpSigningMiddleware",
aliases: ["apiKeyMiddleware", "tokenMiddleware", "awsAuthMiddleware"],
override: true,
relation: "after",
toMiddleware: retryMiddlewareOptions.name!,
};
/**
* @internal
*/
export const getHttpSigningPlugin = (
config: object
): Pluggable => ({
applyToStack: (clientStack) => {
clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);
},
});