UNPKG

@aws-sdk/middleware-sdk-s3

Version:

[![NPM version](https://img.shields.io/npm/v/@aws-sdk/middleware-sdk-s3/latest.svg)](https://www.npmjs.com/package/@aws-sdk/middleware-sdk-s3) [![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/middleware-sdk-s3.svg)](https://www.npmjs.com/package/@

27 lines (26 loc) 1.09 kB
import { HttpRequest } from "@smithy/core/protocols"; import { CONTEXT_SIGNING_SERVICE } from "../constants"; import { getOutpostEndpoint } from "../middleware-process-arnables/getOutpostEndpoint"; export const redirectFromPostIdMiddleware = (config) => (next, context) => async (args) => { const { input, request } = args; if (!HttpRequest.isInstance(request)) return next(args); if (input.OutpostId) { const { isCustomEndpoint } = config; const useFipsEndpoint = await config.useFipsEndpoint(); request.hostname = getOutpostEndpoint(request.hostname, { isCustomEndpoint, useFipsEndpoint }); context[CONTEXT_SIGNING_SERVICE] = "s3-outposts"; } return next(args); }; export const redirectFromPostIdMiddlewareOptions = { step: "build", name: "redirectFromPostIdMiddleware", tags: ["OUTPOST"], override: true, }; export const getRedirectFromPostIdPlugin = (options) => ({ applyToStack: (clientStack) => { clientStack.add(redirectFromPostIdMiddleware(options), redirectFromPostIdMiddlewareOptions); }, });