UNPKG

@aws-amplify/core

Version:
27 lines (25 loc) 1.13 kB
'use strict'; // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.composeTransferHandler = void 0; /** * Compose a transfer handler with a core transfer handler and a list of middleware. * @param coreHandler Core transfer handler * @param middleware List of middleware * @returns A transfer handler whose option type is the union of the core * transfer handler's option type and the middleware's option type. * @internal */ const composeTransferHandler = (coreHandler, middleware) => (request, options) => { const context = {}; let composedHandler = (composeHandlerRequest) => coreHandler(composeHandlerRequest, options); for (let i = middleware.length - 1; i >= 0; i--) { const m = middleware[i]; const resolvedMiddleware = m(options); composedHandler = resolvedMiddleware(composedHandler, context); } return composedHandler(request); }; exports.composeTransferHandler = composeTransferHandler; //# sourceMappingURL=composeTransferHandler.js.map