{"version":3,"file":"signRequest.mjs","sources":["../../../../../../../src/clients/middleware/signing/signer/signatureV4/signRequest.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getSignedHeaders } from './utils/getSignedHeaders';\nimport { getSigningValues } from './utils/getSigningValues';\nimport { AMZ_DATE_HEADER, AUTH_HEADER, HOST_HEADER, SHA256_ALGORITHM_IDENTIFIER, TOKEN_HEADER, } from './constants';\nimport { getSignature } from './utils/getSignature';\n/**\n * Given a `HttpRequest`, returns a Signature Version 4 signed `HttpRequest`.\n *\n * @param request `HttpRequest` to be signed.\n * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.\n * @returns A `HttpRequest` with authentication headers which can grant temporary access to AWS resources.\n */\nexport const signRequest = (request, options) => {\n    const signingValues = getSigningValues(options);\n    const { accessKeyId, credentialScope, longDate, sessionToken } = signingValues;\n    // create the request to sign\n    const headers = { ...request.headers };\n    headers[HOST_HEADER] = request.url.host;\n    headers[AMZ_DATE_HEADER] = longDate;\n    if (sessionToken) {\n        headers[TOKEN_HEADER] = sessionToken;\n    }\n    const requestToSign = { ...request, headers };\n    // calculate and add the signature to the request\n    const signature = getSignature(requestToSign, signingValues);\n    const credentialEntry = `Credential=${accessKeyId}/${credentialScope}`;\n    const signedHeadersEntry = `SignedHeaders=${getSignedHeaders(headers)}`;\n    const signatureEntry = `Signature=${signature}`;\n    headers[AUTH_HEADER] =\n        `${SHA256_ALGORITHM_IDENTIFIER} ${credentialEntry}, ${signedHeadersEntry}, ${signatureEntry}`;\n    return requestToSign;\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK;AACjD,IAAI,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AACnD,IAAI,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,aAAa;AAClF;AACA,IAAI,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;AAC1C,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI;AAC3C,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,QAAQ;AACvC,IAAI,IAAI,YAAY,EAAE;AACtB,QAAQ,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY;AAC5C;AACA,IAAI,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE;AACjD;AACA,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC;AAChE,IAAI,MAAM,eAAe,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;AAC1E,IAAI,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3E,IAAI,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACnD,IAAI,OAAO,CAAC,WAAW,CAAC;AACxB,QAAQ,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;AACrG,IAAI,OAAO,aAAa;AACxB;;;;"}