Socket
Socket
Sign inDemoInstall

@aws-sdk/s3-request-presigner

Package Overview
Dependencies
Maintainers
5
Versions
449
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-sdk/s3-request-presigner - npm Package Compare versions

Comparing version 1.0.0-rc.7 to 1.0.0-rc.8

11

CHANGELOG.md

@@ -6,2 +6,13 @@ # Change Log

# [1.0.0-rc.8](https://github.com/aws/aws-sdk-js-v3/compare/v1.0.0-rc.7...v1.0.0-rc.8) (2020-12-05)
### Bug Fixes
* **s3-request-presigner:** skip hoisting SSE headers ([#1701](https://github.com/aws/aws-sdk-js-v3/issues/1701)) ([1ec70ff](https://github.com/aws/aws-sdk-js-v3/commit/1ec70ff02de372e5de53e8a5c42ad55b41558502))
# [1.0.0-rc.7](https://github.com/aws/aws-sdk-js-v3/compare/v1.0.0-rc.6...v1.0.0-rc.7) (2020-11-20)

@@ -8,0 +19,0 @@

5

dist/cjs/getSignedUrl.js

@@ -7,3 +7,3 @@ "use strict";

const presigner_1 = require("./presigner");
exports.getSignedUrl = async (client, command, options = {}) => {
const getSignedUrl = async (client, command, options = {}) => {
const s3Presigner = new presigner_1.S3RequestPresigner({ ...client.config });

@@ -49,2 +49,3 @@ const presignInterceptMiddleware = (next, context) => async (args) => {

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2lnbmVkVXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dldFNpZ25lZFVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFHckQsOERBQXFEO0FBRXJELDJDQUFpRDtBQUVwQyxRQUFBLFlBQVksR0FBRyxLQUFLLEVBSy9CLE1BQXlELEVBQ3pELE9BQTZFLEVBQzdFLFVBQXNDLEVBQUUsRUFDdkIsRUFBRTtJQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLDhCQUFrQixDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqRSxNQUFNLDBCQUEwQixHQUFxRCxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFDM0csSUFBSSxFQUNKLEVBQUU7O1FBQ0YsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsMkJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsaUVBQWlFO1FBQ2pFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkQsR0FBRyxPQUFPO1lBQ1YsYUFBYSxRQUFFLE9BQU8sQ0FBQyxhQUFhLG1DQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUNqRSxjQUFjLFFBQUUsT0FBTyxDQUFDLGNBQWMsbUNBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDO1NBQ3JFLENBQUMsQ0FBQztRQUNILE9BQU87WUFDTCw0REFBNEQ7WUFDNUQsUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUU7Z0JBQ04sU0FBUyxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDbEMsU0FBUzthQUNWO1NBQ0ssQ0FBQztJQUNYLENBQUMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLDBCQUEwQixFQUFFO1FBQy9ELElBQUksRUFBRSw0QkFBNEI7UUFDbEMsUUFBUSxFQUFFLFFBQVE7UUFDbEIsWUFBWSxFQUFFLG1CQUFtQjtLQUNsQyxDQUFDLENBQUM7SUFFSCxJQUFJLFNBQXNCLENBQUM7SUFDM0IsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxpRUFBaUU7UUFDakUsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7S0FDOUI7WUFBUztRQUNSLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDN0Q7SUFFRCxPQUFPLDJCQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgQ2xpZW50LCBDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL3NtaXRoeS1jbGllbnRcIjtcbmltcG9ydCB7IEJ1aWxkTWlkZGxld2FyZSwgTWV0YWRhdGFCZWFyZXIsIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmb3JtYXRVcmwgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1mb3JtYXQtdXJsXCI7XG5cbmltcG9ydCB7IFMzUmVxdWVzdFByZXNpZ25lciB9IGZyb20gXCIuL3ByZXNpZ25lclwiO1xuXG5leHBvcnQgY29uc3QgZ2V0U2lnbmVkVXJsID0gYXN5bmMgPFxuICBJbnB1dFR5cGVzVW5pb24gZXh0ZW5kcyBvYmplY3QsXG4gIElucHV0VHlwZSBleHRlbmRzIElucHV0VHlwZXNVbmlvbixcbiAgT3V0cHV0VHlwZSBleHRlbmRzIE1ldGFkYXRhQmVhcmVyID0gTWV0YWRhdGFCZWFyZXJcbj4oXG4gIGNsaWVudDogQ2xpZW50PGFueSwgSW5wdXRUeXBlc1VuaW9uLCBNZXRhZGF0YUJlYXJlciwgYW55PixcbiAgY29tbWFuZDogQ29tbWFuZDxJbnB1dFR5cGUsIE91dHB1dFR5cGUsIGFueSwgSW5wdXRUeXBlc1VuaW9uLCBNZXRhZGF0YUJlYXJlcj4sXG4gIG9wdGlvbnM6IFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzID0ge31cbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IHMzUHJlc2lnbmVyID0gbmV3IFMzUmVxdWVzdFByZXNpZ25lcih7IC4uLmNsaWVudC5jb25maWcgfSk7XG4gIGNvbnN0IHByZXNpZ25JbnRlcmNlcHRNaWRkbGV3YXJlOiBCdWlsZE1pZGRsZXdhcmU8SW5wdXRUeXBlc1VuaW9uLCBNZXRhZGF0YUJlYXJlcj4gPSAobmV4dCwgY29udGV4dCkgPT4gYXN5bmMgKFxuICAgIGFyZ3NcbiAgKSA9PiB7XG4gICAgY29uc3QgeyByZXF1ZXN0IH0gPSBhcmdzO1xuICAgIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVxdWVzdCB0byBiZSBwcmVzaWduZWQgaXMgbm90IGFuIHZhbGlkIEhUVFAgcmVxdWVzdC5cIik7XG4gICAgfVxuICAgIC8vIFJldHJ5IGluZm9ybWF0aW9uIGhlYWRlcnMgYXJlIG5vdCBtZWFuaW5nZnVsIGluIHByZXNpZ25lZCBVUkxzXG4gICAgZGVsZXRlIHJlcXVlc3QuaGVhZGVyc1tcImFtei1zZGstaW52b2NhdGlvbi1pZFwiXTtcbiAgICBkZWxldGUgcmVxdWVzdC5oZWFkZXJzW1wiYW16LXNkay1yZXF1ZXN0XCJdO1xuXG4gICAgY29uc3QgcHJlc2lnbmVkID0gYXdhaXQgczNQcmVzaWduZXIucHJlc2lnbihyZXF1ZXN0LCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2lnbmluZ1JlZ2lvbjogb3B0aW9ucy5zaWduaW5nUmVnaW9uID8/IGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSxcbiAgICAgIHNpZ25pbmdTZXJ2aWNlOiBvcHRpb25zLnNpZ25pbmdTZXJ2aWNlID8/IGNvbnRleHRbXCJzaWduaW5nX3NlcnZpY2VcIl0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIEludGVyY2VwdCB0aGUgbWlkZGxld2FyZSBzdGFjayBieSByZXR1cm5pbmcgZmFrZSByZXNwb25zZVxuICAgICAgcmVzcG9uc2U6IHt9LFxuICAgICAgb3V0cHV0OiB7XG4gICAgICAgICRtZXRhZGF0YTogeyBodHRwU3RhdHVzQ29kZTogMjAwIH0sXG4gICAgICAgIHByZXNpZ25lZCxcbiAgICAgIH0sXG4gICAgfSBhcyBhbnk7XG4gIH07XG4gIGNsaWVudC5taWRkbGV3YXJlU3RhY2suYWRkUmVsYXRpdmVUbyhwcmVzaWduSW50ZXJjZXB0TWlkZGxld2FyZSwge1xuICAgIG5hbWU6IFwicHJlc2lnbkludGVyY2VwdE1pZGRsZXdhcmVcIixcbiAgICByZWxhdGlvbjogXCJiZWZvcmVcIixcbiAgICB0b01pZGRsZXdhcmU6IFwiYXdzQXV0aE1pZGRsZXdhcmVcIixcbiAgfSk7XG5cbiAgbGV0IHByZXNpZ25lZDogSHR0cFJlcXVlc3Q7XG4gIHRyeSB7XG4gICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgY2xpZW50LnNlbmQoY29tbWFuZCk7XG4gICAgLy9AdHMtaWdub3JlIHRoZSBvdXRwdXQgaXMgZmFrZWQsIHNvIGl0J3Mgbm90IGFjdHVhbGx5IE91dHB1dFR5cGVcbiAgICBwcmVzaWduZWQgPSBvdXRwdXQucHJlc2lnbmVkO1xuICB9IGZpbmFsbHkge1xuICAgIGNsaWVudC5taWRkbGV3YXJlU3RhY2sucmVtb3ZlKFwicHJlc2lnbkludGVyY2VwdE1pZGRsZXdhcmVcIik7XG4gIH1cblxuICByZXR1cm4gZm9ybWF0VXJsKHByZXNpZ25lZCk7XG59O1xuIl19
exports.getSignedUrl = getSignedUrl;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0U2lnbmVkVXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dldFNpZ25lZFVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFHckQsOERBQXFEO0FBRXJELDJDQUFpRDtBQUUxQyxNQUFNLFlBQVksR0FBRyxLQUFLLEVBSy9CLE1BQXlELEVBQ3pELE9BQTZFLEVBQzdFLFVBQXNDLEVBQUUsRUFDdkIsRUFBRTtJQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLDhCQUFrQixDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNqRSxNQUFNLDBCQUEwQixHQUFxRCxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFDM0csSUFBSSxFQUNKLEVBQUU7O1FBQ0YsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsMkJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsaUVBQWlFO1FBQ2pFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkQsR0FBRyxPQUFPO1lBQ1YsYUFBYSxRQUFFLE9BQU8sQ0FBQyxhQUFhLG1DQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztZQUNqRSxjQUFjLFFBQUUsT0FBTyxDQUFDLGNBQWMsbUNBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDO1NBQ3JFLENBQUMsQ0FBQztRQUNILE9BQU87WUFDTCw0REFBNEQ7WUFDNUQsUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUU7Z0JBQ04sU0FBUyxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDbEMsU0FBUzthQUNWO1NBQ0ssQ0FBQztJQUNYLENBQUMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLDBCQUEwQixFQUFFO1FBQy9ELElBQUksRUFBRSw0QkFBNEI7UUFDbEMsUUFBUSxFQUFFLFFBQVE7UUFDbEIsWUFBWSxFQUFFLG1CQUFtQjtLQUNsQyxDQUFDLENBQUM7SUFFSCxJQUFJLFNBQXNCLENBQUM7SUFDM0IsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxpRUFBaUU7UUFDakUsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7S0FDOUI7WUFBUztRQUNSLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDN0Q7SUFFRCxPQUFPLDJCQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBbkRXLFFBQUEsWUFBWSxnQkFtRHZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgQ2xpZW50LCBDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL3NtaXRoeS1jbGllbnRcIjtcbmltcG9ydCB7IEJ1aWxkTWlkZGxld2FyZSwgTWV0YWRhdGFCZWFyZXIsIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmb3JtYXRVcmwgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1mb3JtYXQtdXJsXCI7XG5cbmltcG9ydCB7IFMzUmVxdWVzdFByZXNpZ25lciB9IGZyb20gXCIuL3ByZXNpZ25lclwiO1xuXG5leHBvcnQgY29uc3QgZ2V0U2lnbmVkVXJsID0gYXN5bmMgPFxuICBJbnB1dFR5cGVzVW5pb24gZXh0ZW5kcyBvYmplY3QsXG4gIElucHV0VHlwZSBleHRlbmRzIElucHV0VHlwZXNVbmlvbixcbiAgT3V0cHV0VHlwZSBleHRlbmRzIE1ldGFkYXRhQmVhcmVyID0gTWV0YWRhdGFCZWFyZXJcbj4oXG4gIGNsaWVudDogQ2xpZW50PGFueSwgSW5wdXRUeXBlc1VuaW9uLCBNZXRhZGF0YUJlYXJlciwgYW55PixcbiAgY29tbWFuZDogQ29tbWFuZDxJbnB1dFR5cGUsIE91dHB1dFR5cGUsIGFueSwgSW5wdXRUeXBlc1VuaW9uLCBNZXRhZGF0YUJlYXJlcj4sXG4gIG9wdGlvbnM6IFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzID0ge31cbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGNvbnN0IHMzUHJlc2lnbmVyID0gbmV3IFMzUmVxdWVzdFByZXNpZ25lcih7IC4uLmNsaWVudC5jb25maWcgfSk7XG4gIGNvbnN0IHByZXNpZ25JbnRlcmNlcHRNaWRkbGV3YXJlOiBCdWlsZE1pZGRsZXdhcmU8SW5wdXRUeXBlc1VuaW9uLCBNZXRhZGF0YUJlYXJlcj4gPSAobmV4dCwgY29udGV4dCkgPT4gYXN5bmMgKFxuICAgIGFyZ3NcbiAgKSA9PiB7XG4gICAgY29uc3QgeyByZXF1ZXN0IH0gPSBhcmdzO1xuICAgIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVxdWVzdCB0byBiZSBwcmVzaWduZWQgaXMgbm90IGFuIHZhbGlkIEhUVFAgcmVxdWVzdC5cIik7XG4gICAgfVxuICAgIC8vIFJldHJ5IGluZm9ybWF0aW9uIGhlYWRlcnMgYXJlIG5vdCBtZWFuaW5nZnVsIGluIHByZXNpZ25lZCBVUkxzXG4gICAgZGVsZXRlIHJlcXVlc3QuaGVhZGVyc1tcImFtei1zZGstaW52b2NhdGlvbi1pZFwiXTtcbiAgICBkZWxldGUgcmVxdWVzdC5oZWFkZXJzW1wiYW16LXNkay1yZXF1ZXN0XCJdO1xuXG4gICAgY29uc3QgcHJlc2lnbmVkID0gYXdhaXQgczNQcmVzaWduZXIucHJlc2lnbihyZXF1ZXN0LCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2lnbmluZ1JlZ2lvbjogb3B0aW9ucy5zaWduaW5nUmVnaW9uID8/IGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSxcbiAgICAgIHNpZ25pbmdTZXJ2aWNlOiBvcHRpb25zLnNpZ25pbmdTZXJ2aWNlID8/IGNvbnRleHRbXCJzaWduaW5nX3NlcnZpY2VcIl0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIEludGVyY2VwdCB0aGUgbWlkZGxld2FyZSBzdGFjayBieSByZXR1cm5pbmcgZmFrZSByZXNwb25zZVxuICAgICAgcmVzcG9uc2U6IHt9LFxuICAgICAgb3V0cHV0OiB7XG4gICAgICAgICRtZXRhZGF0YTogeyBodHRwU3RhdHVzQ29kZTogMjAwIH0sXG4gICAgICAgIHByZXNpZ25lZCxcbiAgICAgIH0sXG4gICAgfSBhcyBhbnk7XG4gIH07XG4gIGNsaWVudC5taWRkbGV3YXJlU3RhY2suYWRkUmVsYXRpdmVUbyhwcmVzaWduSW50ZXJjZXB0TWlkZGxld2FyZSwge1xuICAgIG5hbWU6IFwicHJlc2lnbkludGVyY2VwdE1pZGRsZXdhcmVcIixcbiAgICByZWxhdGlvbjogXCJiZWZvcmVcIixcbiAgICB0b01pZGRsZXdhcmU6IFwiYXdzQXV0aE1pZGRsZXdhcmVcIixcbiAgfSk7XG5cbiAgbGV0IHByZXNpZ25lZDogSHR0cFJlcXVlc3Q7XG4gIHRyeSB7XG4gICAgY29uc3Qgb3V0cHV0ID0gYXdhaXQgY2xpZW50LnNlbmQoY29tbWFuZCk7XG4gICAgLy9AdHMtaWdub3JlIHRoZSBvdXRwdXQgaXMgZmFrZWQsIHNvIGl0J3Mgbm90IGFjdHVhbGx5IE91dHB1dFR5cGVcbiAgICBwcmVzaWduZWQgPSBvdXRwdXQucHJlc2lnbmVkO1xuICB9IGZpbmFsbHkge1xuICAgIGNsaWVudC5taWRkbGV3YXJlU3RhY2sucmVtb3ZlKFwicHJlc2lnbkludGVyY2VwdE1pZGRsZXdhcmVcIik7XG4gIH1cblxuICByZXR1cm4gZm9ybWF0VXJsKHByZXNpZ25lZCk7XG59O1xuIl19

2

dist/cjs/presigner.d.ts

@@ -16,4 +16,4 @@ import { SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";

constructor(options: S3RequestPresignerOptions);
presign(requestToSign: IHttpRequest, { unsignableHeaders, ...options }?: RequestPresigningArguments): Promise<IHttpRequest>;
presign(requestToSign: IHttpRequest, { unsignableHeaders, unhoistableHeaders, ...options }?: RequestPresigningArguments): Promise<IHttpRequest>;
}
export {};

@@ -17,4 +17,12 @@ "use strict";

}
async presign(requestToSign, { unsignableHeaders = new Set(), ...options } = {}) {
async presign(requestToSign, { unsignableHeaders = new Set(), unhoistableHeaders = new Set(), ...options } = {}) {
unsignableHeaders.add("content-type");
// S3 requires SSE headers to be signed in headers instead of query
// See: https://github.com/aws/aws-sdk-js-v3/issues/1576
Object.keys(requestToSign.headers)
.map((header) => header.toLowerCase())
.filter((header) => header.startsWith("x-amz-server-side-encryption"))
.forEach((header) => {
unhoistableHeaders.add(header);
});
requestToSign.headers[constants_1.SHA256_HEADER] = constants_1.UNSIGNED_PAYLOAD;

@@ -24,2 +32,3 @@ return this.signer.presign(requestToSign, {

unsignableHeaders,
unhoistableHeaders,
...options,

@@ -30,2 +39,2 @@ });

exports.S3RequestPresigner = S3RequestPresigner;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNpZ25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBNEY7QUFJNUYsMkNBQThEO0FBYzlELE1BQWEsa0JBQWtCO0lBRTdCLFlBQVksT0FBa0M7UUFDNUMsTUFBTSxlQUFlLEdBQUc7WUFDdEIsNEZBQTRGO1lBQzVGLDhDQUE4QztZQUM5QyxPQUFPLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDdkQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksS0FBSztZQUM3QyxHQUFHLE9BQU87U0FDWCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDBCQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQ2xCLGFBQTJCLEVBQzNCLEVBQUUsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxHQUFHLE9BQU8sS0FBaUMsRUFBRTtRQUU5RSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEMsYUFBYSxDQUFDLE9BQU8sQ0FBQyx5QkFBYSxDQUFDLEdBQUcsNEJBQWdCLENBQUM7UUFDeEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDeEMsU0FBUyxFQUFFLEdBQUc7WUFDZCxpQkFBaUI7WUFDakIsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBekJELGdEQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hdHVyZVY0LCBTaWduYXR1cmVWNENyeXB0b0luaXQsIFNpZ25hdHVyZVY0SW5pdCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcbmltcG9ydCB7IFJlcXVlc3RQcmVzaWduZXIsIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCBhcyBJSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgU0hBMjU2X0hFQURFUiwgVU5TSUdORURfUEFZTE9BRCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIFBhcnRpYWxCeTxULCBLPiBtYWtlcyBwcm9wZXJ0aWVzIHNwZWNpZmllZCBpbiBLIG9wdGlvbmFsIGluIGludGVyZmFjZSBUXG4gKiBzZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQzMTU5ODg3L21ha2UtYS1zaW5nbGUtcHJvcGVydHktb3B0aW9uYWwtaW4tdHlwZXNjcmlwdFxuICogKi9cbnR5cGUgT21pdDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFQsIEV4Y2x1ZGU8a2V5b2YgVCwgSz4+O1xudHlwZSBQYXJ0aWFsQnk8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIFBhcnRpYWw8UGljazxULCBLPj47XG5cbmV4cG9ydCB0eXBlIFMzUmVxdWVzdFByZXNpZ25lck9wdGlvbnMgPSBQYXJ0aWFsQnk8XG4gIFNpZ25hdHVyZVY0SW5pdCAmIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCxcbiAgXCJzZXJ2aWNlXCIgfCBcInVyaUVzY2FwZVBhdGhcIlxuPiAmIHsgc2lnbmluZ05hbWU/OiBzdHJpbmcgfTtcblxuZXhwb3J0IGNsYXNzIFMzUmVxdWVzdFByZXNpZ25lciBpbXBsZW1lbnRzIFJlcXVlc3RQcmVzaWduZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNpZ25lcjogU2lnbmF0dXJlVjQ7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFMzUmVxdWVzdFByZXNpZ25lck9wdGlvbnMpIHtcbiAgICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSB7XG4gICAgICAvLyBBbGxvdyBgc2lnbmluZ05hbWVgIGJlY2F1c2Ugd2Ugd2FudCB0byBzdXBwb3J0IHVzZWNhc2Ugb2Ygc3VwcGx5IGNsaWVudCdzIHJlc29sdmVkIGNvbmZpZ1xuICAgICAgLy8gZGlyZWN0bHkuIFdoZXJlIHNlcnZpY2UgZXF1YWxzIHNpZ25pbmdOYW1lLlxuICAgICAgc2VydmljZTogb3B0aW9ucy5zaWduaW5nTmFtZSB8fCBvcHRpb25zLnNlcnZpY2UgfHwgXCJzM1wiLFxuICAgICAgdXJpRXNjYXBlUGF0aDogb3B0aW9ucy51cmlFc2NhcGVQYXRoIHx8IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuICAgIHRoaXMuc2lnbmVyID0gbmV3IFNpZ25hdHVyZVY0KHJlc29sdmVkT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJlc2lnbihcbiAgICByZXF1ZXN0VG9TaWduOiBJSHR0cFJlcXVlc3QsXG4gICAgeyB1bnNpZ25hYmxlSGVhZGVycyA9IG5ldyBTZXQoKSwgLi4ub3B0aW9ucyB9OiBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyA9IHt9XG4gICk6IFByb21pc2U8SUh0dHBSZXF1ZXN0PiB7XG4gICAgdW5zaWduYWJsZUhlYWRlcnMuYWRkKFwiY29udGVudC10eXBlXCIpO1xuICAgIHJlcXVlc3RUb1NpZ24uaGVhZGVyc1tTSEEyNTZfSEVBREVSXSA9IFVOU0lHTkVEX1BBWUxPQUQ7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmVyLnByZXNpZ24ocmVxdWVzdFRvU2lnbiwge1xuICAgICAgZXhwaXJlc0luOiA5MDAsXG4gICAgICB1bnNpZ25hYmxlSGVhZGVycyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNpZ25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBNEY7QUFJNUYsMkNBQThEO0FBYzlELE1BQWEsa0JBQWtCO0lBRTdCLFlBQVksT0FBa0M7UUFDNUMsTUFBTSxlQUFlLEdBQUc7WUFDdEIsNEZBQTRGO1lBQzVGLDhDQUE4QztZQUM5QyxPQUFPLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDdkQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksS0FBSztZQUM3QyxHQUFHLE9BQU87U0FDWCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDBCQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQ2xCLGFBQTJCLEVBQzNCLEVBQUUsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUFFLEdBQUcsT0FBTyxLQUFpQyxFQUFFO1FBRTlHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxtRUFBbUU7UUFDbkUsd0RBQXdEO1FBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQzthQUMvQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNyQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQzthQUNyRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNsQixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDTCxhQUFhLENBQUMsT0FBTyxDQUFDLHlCQUFhLENBQUMsR0FBRyw0QkFBZ0IsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN4QyxTQUFTLEVBQUUsR0FBRztZQUNkLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbENELGdEQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hdHVyZVY0LCBTaWduYXR1cmVWNENyeXB0b0luaXQsIFNpZ25hdHVyZVY0SW5pdCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcbmltcG9ydCB7IFJlcXVlc3RQcmVzaWduZXIsIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCBhcyBJSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgU0hBMjU2X0hFQURFUiwgVU5TSUdORURfUEFZTE9BRCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIFBhcnRpYWxCeTxULCBLPiBtYWtlcyBwcm9wZXJ0aWVzIHNwZWNpZmllZCBpbiBLIG9wdGlvbmFsIGluIGludGVyZmFjZSBUXG4gKiBzZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQzMTU5ODg3L21ha2UtYS1zaW5nbGUtcHJvcGVydHktb3B0aW9uYWwtaW4tdHlwZXNjcmlwdFxuICogKi9cbnR5cGUgT21pdDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFQsIEV4Y2x1ZGU8a2V5b2YgVCwgSz4+O1xudHlwZSBQYXJ0aWFsQnk8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIFBhcnRpYWw8UGljazxULCBLPj47XG5cbmV4cG9ydCB0eXBlIFMzUmVxdWVzdFByZXNpZ25lck9wdGlvbnMgPSBQYXJ0aWFsQnk8XG4gIFNpZ25hdHVyZVY0SW5pdCAmIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCxcbiAgXCJzZXJ2aWNlXCIgfCBcInVyaUVzY2FwZVBhdGhcIlxuPiAmIHsgc2lnbmluZ05hbWU/OiBzdHJpbmcgfTtcblxuZXhwb3J0IGNsYXNzIFMzUmVxdWVzdFByZXNpZ25lciBpbXBsZW1lbnRzIFJlcXVlc3RQcmVzaWduZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNpZ25lcjogU2lnbmF0dXJlVjQ7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFMzUmVxdWVzdFByZXNpZ25lck9wdGlvbnMpIHtcbiAgICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSB7XG4gICAgICAvLyBBbGxvdyBgc2lnbmluZ05hbWVgIGJlY2F1c2Ugd2Ugd2FudCB0byBzdXBwb3J0IHVzZWNhc2Ugb2Ygc3VwcGx5IGNsaWVudCdzIHJlc29sdmVkIGNvbmZpZ1xuICAgICAgLy8gZGlyZWN0bHkuIFdoZXJlIHNlcnZpY2UgZXF1YWxzIHNpZ25pbmdOYW1lLlxuICAgICAgc2VydmljZTogb3B0aW9ucy5zaWduaW5nTmFtZSB8fCBvcHRpb25zLnNlcnZpY2UgfHwgXCJzM1wiLFxuICAgICAgdXJpRXNjYXBlUGF0aDogb3B0aW9ucy51cmlFc2NhcGVQYXRoIHx8IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuICAgIHRoaXMuc2lnbmVyID0gbmV3IFNpZ25hdHVyZVY0KHJlc29sdmVkT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJlc2lnbihcbiAgICByZXF1ZXN0VG9TaWduOiBJSHR0cFJlcXVlc3QsXG4gICAgeyB1bnNpZ25hYmxlSGVhZGVycyA9IG5ldyBTZXQoKSwgdW5ob2lzdGFibGVIZWFkZXJzID0gbmV3IFNldCgpLCAuLi5vcHRpb25zIH06IFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzID0ge31cbiAgKTogUHJvbWlzZTxJSHR0cFJlcXVlc3Q+IHtcbiAgICB1bnNpZ25hYmxlSGVhZGVycy5hZGQoXCJjb250ZW50LXR5cGVcIik7XG4gICAgLy8gUzMgcmVxdWlyZXMgU1NFIGhlYWRlcnMgdG8gYmUgc2lnbmVkIGluIGhlYWRlcnMgaW5zdGVhZCBvZiBxdWVyeVxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3Mtc2RrLWpzLXYzL2lzc3Vlcy8xNTc2XG4gICAgT2JqZWN0LmtleXMocmVxdWVzdFRvU2lnbi5oZWFkZXJzKVxuICAgICAgLm1hcCgoaGVhZGVyKSA9PiBoZWFkZXIudG9Mb3dlckNhc2UoKSlcbiAgICAgIC5maWx0ZXIoKGhlYWRlcikgPT4gaGVhZGVyLnN0YXJ0c1dpdGgoXCJ4LWFtei1zZXJ2ZXItc2lkZS1lbmNyeXB0aW9uXCIpKVxuICAgICAgLmZvckVhY2goKGhlYWRlcikgPT4ge1xuICAgICAgICB1bmhvaXN0YWJsZUhlYWRlcnMuYWRkKGhlYWRlcik7XG4gICAgICB9KTtcbiAgICByZXF1ZXN0VG9TaWduLmhlYWRlcnNbU0hBMjU2X0hFQURFUl0gPSBVTlNJR05FRF9QQVlMT0FEO1xuICAgIHJldHVybiB0aGlzLnNpZ25lci5wcmVzaWduKHJlcXVlc3RUb1NpZ24sIHtcbiAgICAgIGV4cGlyZXNJbjogOTAwLFxuICAgICAgdW5zaWduYWJsZUhlYWRlcnMsXG4gICAgICB1bmhvaXN0YWJsZUhlYWRlcnMsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICB9XG59XG4iXX0=

@@ -16,4 +16,4 @@ import { SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";

constructor(options: S3RequestPresignerOptions);
presign(requestToSign: IHttpRequest, { unsignableHeaders, ...options }?: RequestPresigningArguments): Promise<IHttpRequest>;
presign(requestToSign: IHttpRequest, { unsignableHeaders, unhoistableHeaders, ...options }?: RequestPresigningArguments): Promise<IHttpRequest>;
}
export {};

@@ -14,8 +14,17 @@ import { __assign, __awaiter, __generator, __rest } from "tslib";

if (_a === void 0) { _a = {}; }
var _b = _a.unsignableHeaders, unsignableHeaders = _b === void 0 ? new Set() : _b, options = __rest(_a, ["unsignableHeaders"]);
var _b = _a.unsignableHeaders, unsignableHeaders = _b === void 0 ? new Set() : _b, _c = _a.unhoistableHeaders, unhoistableHeaders = _c === void 0 ? new Set() : _c, options = __rest(_a, ["unsignableHeaders", "unhoistableHeaders"]);
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_c) {
return __generator(this, function (_d) {
unsignableHeaders.add("content-type");
// S3 requires SSE headers to be signed in headers instead of query
// See: https://github.com/aws/aws-sdk-js-v3/issues/1576
Object.keys(requestToSign.headers)
.map(function (header) { return header.toLowerCase(); })
.filter(function (header) { return header.startsWith("x-amz-server-side-encryption"); })
.forEach(function (header) {
unhoistableHeaders.add(header);
});
requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;
return [2 /*return*/, this.signer.presign(requestToSign, __assign({ expiresIn: 900, unsignableHeaders: unsignableHeaders }, options))];
return [2 /*return*/, this.signer.presign(requestToSign, __assign({ expiresIn: 900, unsignableHeaders: unsignableHeaders,
unhoistableHeaders: unhoistableHeaders }, options))];
});

@@ -27,2 +36,2 @@ });

export { S3RequestPresigner };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNpZ25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBMEMsTUFBTSx1QkFBdUIsQ0FBQztBQUk1RixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYzlEO0lBRUUsNEJBQVksT0FBa0M7UUFDNUMsSUFBTSxlQUFlO1lBQ25CLDRGQUE0RjtZQUM1Riw4Q0FBOEM7WUFDOUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQ3ZELGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUssSUFDMUMsT0FBTyxDQUNYLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFWSxvQ0FBTyxHQUFwQixVQUNFLGFBQTJCLEVBQzNCLEVBQThFO1FBQTlFLG1CQUFBLEVBQUEsT0FBOEU7UUFBNUUsSUFBQSx5QkFBNkIsRUFBN0IsaUJBQWlCLG1CQUFHLElBQUksR0FBRyxFQUFFLEtBQUEsRUFBSyxPQUFPLGNBQTNDLHFCQUE2QyxDQUFGOzs7Z0JBRTNDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDdEMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztnQkFDeEQsc0JBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxhQUN0QyxTQUFTLEVBQUUsR0FBRyxFQUNkLGlCQUFpQixtQkFBQSxJQUNkLE9BQU8sRUFDVixFQUFDOzs7S0FDSjtJQUNILHlCQUFDO0FBQUQsQ0FBQyxBQXpCRCxJQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hdHVyZVY0LCBTaWduYXR1cmVWNENyeXB0b0luaXQsIFNpZ25hdHVyZVY0SW5pdCB9IGZyb20gXCJAYXdzLXNkay9zaWduYXR1cmUtdjRcIjtcbmltcG9ydCB7IFJlcXVlc3RQcmVzaWduZXIsIFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBIdHRwUmVxdWVzdCBhcyBJSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgU0hBMjU2X0hFQURFUiwgVU5TSUdORURfUEFZTE9BRCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIFBhcnRpYWxCeTxULCBLPiBtYWtlcyBwcm9wZXJ0aWVzIHNwZWNpZmllZCBpbiBLIG9wdGlvbmFsIGluIGludGVyZmFjZSBUXG4gKiBzZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQzMTU5ODg3L21ha2UtYS1zaW5nbGUtcHJvcGVydHktb3B0aW9uYWwtaW4tdHlwZXNjcmlwdFxuICogKi9cbnR5cGUgT21pdDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBQaWNrPFQsIEV4Y2x1ZGU8a2V5b2YgVCwgSz4+O1xudHlwZSBQYXJ0aWFsQnk8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gT21pdDxULCBLPiAmIFBhcnRpYWw8UGljazxULCBLPj47XG5cbmV4cG9ydCB0eXBlIFMzUmVxdWVzdFByZXNpZ25lck9wdGlvbnMgPSBQYXJ0aWFsQnk8XG4gIFNpZ25hdHVyZVY0SW5pdCAmIFNpZ25hdHVyZVY0Q3J5cHRvSW5pdCxcbiAgXCJzZXJ2aWNlXCIgfCBcInVyaUVzY2FwZVBhdGhcIlxuPiAmIHsgc2lnbmluZ05hbWU/OiBzdHJpbmcgfTtcblxuZXhwb3J0IGNsYXNzIFMzUmVxdWVzdFByZXNpZ25lciBpbXBsZW1lbnRzIFJlcXVlc3RQcmVzaWduZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNpZ25lcjogU2lnbmF0dXJlVjQ7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFMzUmVxdWVzdFByZXNpZ25lck9wdGlvbnMpIHtcbiAgICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSB7XG4gICAgICAvLyBBbGxvdyBgc2lnbmluZ05hbWVgIGJlY2F1c2Ugd2Ugd2FudCB0byBzdXBwb3J0IHVzZWNhc2Ugb2Ygc3VwcGx5IGNsaWVudCdzIHJlc29sdmVkIGNvbmZpZ1xuICAgICAgLy8gZGlyZWN0bHkuIFdoZXJlIHNlcnZpY2UgZXF1YWxzIHNpZ25pbmdOYW1lLlxuICAgICAgc2VydmljZTogb3B0aW9ucy5zaWduaW5nTmFtZSB8fCBvcHRpb25zLnNlcnZpY2UgfHwgXCJzM1wiLFxuICAgICAgdXJpRXNjYXBlUGF0aDogb3B0aW9ucy51cmlFc2NhcGVQYXRoIHx8IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuICAgIHRoaXMuc2lnbmVyID0gbmV3IFNpZ25hdHVyZVY0KHJlc29sdmVkT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJlc2lnbihcbiAgICByZXF1ZXN0VG9TaWduOiBJSHR0cFJlcXVlc3QsXG4gICAgeyB1bnNpZ25hYmxlSGVhZGVycyA9IG5ldyBTZXQoKSwgLi4ub3B0aW9ucyB9OiBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyA9IHt9XG4gICk6IFByb21pc2U8SUh0dHBSZXF1ZXN0PiB7XG4gICAgdW5zaWduYWJsZUhlYWRlcnMuYWRkKFwiY29udGVudC10eXBlXCIpO1xuICAgIHJlcXVlc3RUb1NpZ24uaGVhZGVyc1tTSEEyNTZfSEVBREVSXSA9IFVOU0lHTkVEX1BBWUxPQUQ7XG4gICAgcmV0dXJuIHRoaXMuc2lnbmVyLnByZXNpZ24ocmVxdWVzdFRvU2lnbiwge1xuICAgICAgZXhwaXJlc0luOiA5MDAsXG4gICAgICB1bnNpZ25hYmxlSGVhZGVycyxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2lnbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByZXNpZ25lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBMEMsTUFBTSx1QkFBdUIsQ0FBQztBQUk1RixPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBYzlEO0lBRUUsNEJBQVksT0FBa0M7UUFDNUMsSUFBTSxlQUFlO1lBQ25CLDRGQUE0RjtZQUM1Riw4Q0FBOEM7WUFDOUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQ3ZELGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLEtBQUssSUFDMUMsT0FBTyxDQUNYLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFWSxvQ0FBTyxHQUFwQixVQUNFLGFBQTJCLEVBQzNCLEVBQThHO1FBQTlHLG1CQUFBLEVBQUEsT0FBOEc7UUFBNUcsSUFBQSx5QkFBNkIsRUFBN0IsaUJBQWlCLG1CQUFHLElBQUksR0FBRyxFQUFFLEtBQUEsRUFBRSwwQkFBOEIsRUFBOUIsa0JBQWtCLG1CQUFHLElBQUksR0FBRyxFQUFFLEtBQUEsRUFBSyxPQUFPLGNBQTNFLDJDQUE2RSxDQUFGOzs7Z0JBRTNFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDdEMsbUVBQW1FO2dCQUNuRSx3REFBd0Q7Z0JBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztxQkFDL0IsR0FBRyxDQUFDLFVBQUMsTUFBTSxJQUFLLE9BQUEsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFwQixDQUFvQixDQUFDO3FCQUNyQyxNQUFNLENBQUMsVUFBQyxNQUFNLElBQUssT0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLEVBQWpELENBQWlELENBQUM7cUJBQ3JFLE9BQU8sQ0FBQyxVQUFDLE1BQU07b0JBQ2Qsa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsQ0FBQztnQkFDTCxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO2dCQUN4RCxzQkFBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLGFBQ3RDLFNBQVMsRUFBRSxHQUFHLEVBQ2QsaUJBQWlCLG1CQUFBO3dCQUNqQixrQkFBa0Isb0JBQUEsSUFDZixPQUFPLEVBQ1YsRUFBQzs7O0tBQ0o7SUFDSCx5QkFBQztBQUFELENBQUMsQUFsQ0QsSUFrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWduYXR1cmVWNCwgU2lnbmF0dXJlVjRDcnlwdG9Jbml0LCBTaWduYXR1cmVWNEluaXQgfSBmcm9tIFwiQGF3cy1zZGsvc2lnbmF0dXJlLXY0XCI7XG5pbXBvcnQgeyBSZXF1ZXN0UHJlc2lnbmVyLCBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3QgYXMgSUh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmltcG9ydCB7IFNIQTI1Nl9IRUFERVIsIFVOU0lHTkVEX1BBWUxPQUQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBQYXJ0aWFsQnk8VCwgSz4gbWFrZXMgcHJvcGVydGllcyBzcGVjaWZpZWQgaW4gSyBvcHRpb25hbCBpbiBpbnRlcmZhY2UgVFxuICogc2VlOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MzE1OTg4Ny9tYWtlLWEtc2luZ2xlLXByb3BlcnR5LW9wdGlvbmFsLWluLXR5cGVzY3JpcHRcbiAqICovXG50eXBlIE9taXQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+ID0gUGljazxULCBFeGNsdWRlPGtleW9mIFQsIEs+PjtcbnR5cGUgUGFydGlhbEJ5PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiBQYXJ0aWFsPFBpY2s8VCwgSz4+O1xuXG5leHBvcnQgdHlwZSBTM1JlcXVlc3RQcmVzaWduZXJPcHRpb25zID0gUGFydGlhbEJ5PFxuICBTaWduYXR1cmVWNEluaXQgJiBTaWduYXR1cmVWNENyeXB0b0luaXQsXG4gIFwic2VydmljZVwiIHwgXCJ1cmlFc2NhcGVQYXRoXCJcbj4gJiB7IHNpZ25pbmdOYW1lPzogc3RyaW5nIH07XG5cbmV4cG9ydCBjbGFzcyBTM1JlcXVlc3RQcmVzaWduZXIgaW1wbGVtZW50cyBSZXF1ZXN0UHJlc2lnbmVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzaWduZXI6IFNpZ25hdHVyZVY0O1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTM1JlcXVlc3RQcmVzaWduZXJPcHRpb25zKSB7XG4gICAgY29uc3QgcmVzb2x2ZWRPcHRpb25zID0ge1xuICAgICAgLy8gQWxsb3cgYHNpZ25pbmdOYW1lYCBiZWNhdXNlIHdlIHdhbnQgdG8gc3VwcG9ydCB1c2VjYXNlIG9mIHN1cHBseSBjbGllbnQncyByZXNvbHZlZCBjb25maWdcbiAgICAgIC8vIGRpcmVjdGx5LiBXaGVyZSBzZXJ2aWNlIGVxdWFscyBzaWduaW5nTmFtZS5cbiAgICAgIHNlcnZpY2U6IG9wdGlvbnMuc2lnbmluZ05hbWUgfHwgb3B0aW9ucy5zZXJ2aWNlIHx8IFwiczNcIixcbiAgICAgIHVyaUVzY2FwZVBhdGg6IG9wdGlvbnMudXJpRXNjYXBlUGF0aCB8fCBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcbiAgICB0aGlzLnNpZ25lciA9IG5ldyBTaWduYXR1cmVWNChyZXNvbHZlZE9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHByZXNpZ24oXG4gICAgcmVxdWVzdFRvU2lnbjogSUh0dHBSZXF1ZXN0LFxuICAgIHsgdW5zaWduYWJsZUhlYWRlcnMgPSBuZXcgU2V0KCksIHVuaG9pc3RhYmxlSGVhZGVycyA9IG5ldyBTZXQoKSwgLi4ub3B0aW9ucyB9OiBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyA9IHt9XG4gICk6IFByb21pc2U8SUh0dHBSZXF1ZXN0PiB7XG4gICAgdW5zaWduYWJsZUhlYWRlcnMuYWRkKFwiY29udGVudC10eXBlXCIpO1xuICAgIC8vIFMzIHJlcXVpcmVzIFNTRSBoZWFkZXJzIHRvIGJlIHNpZ25lZCBpbiBoZWFkZXJzIGluc3RlYWQgb2YgcXVlcnlcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLXNkay1qcy12My9pc3N1ZXMvMTU3NlxuICAgIE9iamVjdC5rZXlzKHJlcXVlc3RUb1NpZ24uaGVhZGVycylcbiAgICAgIC5tYXAoKGhlYWRlcikgPT4gaGVhZGVyLnRvTG93ZXJDYXNlKCkpXG4gICAgICAuZmlsdGVyKChoZWFkZXIpID0+IGhlYWRlci5zdGFydHNXaXRoKFwieC1hbXotc2VydmVyLXNpZGUtZW5jcnlwdGlvblwiKSlcbiAgICAgIC5mb3JFYWNoKChoZWFkZXIpID0+IHtcbiAgICAgICAgdW5ob2lzdGFibGVIZWFkZXJzLmFkZChoZWFkZXIpO1xuICAgICAgfSk7XG4gICAgcmVxdWVzdFRvU2lnbi5oZWFkZXJzW1NIQTI1Nl9IRUFERVJdID0gVU5TSUdORURfUEFZTE9BRDtcbiAgICByZXR1cm4gdGhpcy5zaWduZXIucHJlc2lnbihyZXF1ZXN0VG9TaWduLCB7XG4gICAgICBleHBpcmVzSW46IDkwMCxcbiAgICAgIHVuc2lnbmFibGVIZWFkZXJzLFxuICAgICAgdW5ob2lzdGFibGVIZWFkZXJzLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuIl19
{
"name": "@aws-sdk/s3-request-presigner",
"version": "1.0.0-rc.7",
"version": "1.0.0-rc.8",
"scripts": {

@@ -21,17 +21,17 @@ "prepublishOnly": "yarn build:cjs && yarn build:es",

"dependencies": {
"@aws-sdk/protocol-http": "1.0.0-rc.7",
"@aws-sdk/signature-v4": "1.0.0-rc.7",
"@aws-sdk/smithy-client": "1.0.0-rc.7",
"@aws-sdk/util-create-request": "1.0.0-rc.7",
"@aws-sdk/util-format-url": "1.0.0-rc.7",
"@aws-sdk/protocol-http": "1.0.0-rc.8",
"@aws-sdk/signature-v4": "1.0.0-rc.8",
"@aws-sdk/smithy-client": "1.0.0-rc.8",
"@aws-sdk/util-create-request": "1.0.0-rc.8",
"@aws-sdk/util-format-url": "1.0.0-rc.8",
"tslib": "^1.8.0"
},
"devDependencies": {
"@aws-sdk/client-s3": "1.0.0-rc.7",
"@aws-sdk/hash-node": "1.0.0-rc.7",
"@aws-sdk/types": "1.0.0-rc.7",
"@aws-sdk/client-s3": "1.0.0-rc.8",
"@aws-sdk/hash-node": "1.0.0-rc.8",
"@aws-sdk/types": "1.0.0-rc.8",
"@types/jest": "^26.0.4",
"@types/node": "^12.0.2",
"jest": "^26.1.0",
"typescript": "~4.0.2"
"typescript": "~4.1.2"
},

@@ -38,0 +38,0 @@ "engines": {

@@ -37,2 +37,6 @@ # @aws-sdk/s3-request-presigner

If your request contains server-side encryption(`SSE*`) configurations, because
of S3 limitation, you need to send corresponding headers along with the
presigned url. For more information, please go to [S3 SSE reference](https://docs.aws.amazon.com/AmazonS3/latest/dev/KMSUsingRESTAPI.html)
If you already have a request, you can pre-sign the request following the

@@ -46,11 +50,12 @@ section bellow.

```javascript
const S3Presigner = require("@aws-sdk/s3-request-presigner").S3RequestPresigner;
const browserSha256 = require("@aws-crypto/sha256-browser").Sha256;
const nodeSha256 = require("@aws-sdk/hash-node").Hash;
const signer = new S3Presigner({
const { S3RequestPresigner } = require("@aws-sdk/s3-request-presigner");
const { Sha256 } = require("@aws-crypto/sha256-browser");
const { Hash } = require("@aws-sdk/hash-node");
const signer = new S3RequestPresigner({
region: regionProvider,
credentials: credentialsProvider,
sha256: nodeSha256, //if the signer is used in browser, use `browserSha256` then
sha256: Hash.bind(null, "sha256"), // In Node.js
//sha256: Sha256 // In browsers
});
const url = await signer.presign(request);
const presigned = await signer.presign(request);
```

@@ -62,10 +67,11 @@

import { S3RequestPresigner } from "@aws-sdk/s3-request-presigner";
import { Sha256 as browserSha256 } from "@aws-crypto/sha256-browser";
import { Hash as nodeSha256 } from "@aws-sdk/hash-node";
import { Sha256 } from "@aws-crypto/sha256-browser";
import { Hash } from "@aws-sdk/hash-node";
const signer = new S3RequestPresigner({
region: regionProvider,
credentials: credentialsProvider,
sha256: nodeSha256, //if the signer is used in browser, use `browserSha256` then
sha256: Hash.bind(null, "sha256"), // In Node.js
//sha256: Sha256 // In browsers
});
const url = await signer.presign(request);
const presigned = await signer.presign(request);
```

@@ -83,1 +89,10 @@

```
If your request contains server-side encryption(`x-amz-server-side-encryption*`)
headers, because of S3 limitation, you need to send these headers along
with the presigned url. That is to say, the url only from calling `formatUrl()`
to `presigned` is not sufficient to make a request. You need to send the
server-side encryption headers along with the url. These headers remain in the
`presigned.headers`
For more information, please go to [S3 SSE reference](https://docs.aws.amazon.com/AmazonS3/latest/dev/KMSUsingRESTAPI.html)

@@ -34,5 +34,13 @@ import { SignatureV4, SignatureV4CryptoInit, SignatureV4Init } from "@aws-sdk/signature-v4";

requestToSign: IHttpRequest,
{ unsignableHeaders = new Set(), ...options }: RequestPresigningArguments = {}
{ unsignableHeaders = new Set(), unhoistableHeaders = new Set(), ...options }: RequestPresigningArguments = {}
): Promise<IHttpRequest> {
unsignableHeaders.add("content-type");
// S3 requires SSE headers to be signed in headers instead of query
// See: https://github.com/aws/aws-sdk-js-v3/issues/1576
Object.keys(requestToSign.headers)
.map((header) => header.toLowerCase())
.filter((header) => header.startsWith("x-amz-server-side-encryption"))
.forEach((header) => {
unhoistableHeaders.add(header);
});
requestToSign.headers[SHA256_HEADER] = UNSIGNED_PAYLOAD;

@@ -42,2 +50,3 @@ return this.signer.presign(requestToSign, {

unsignableHeaders,
unhoistableHeaders,
...options,

@@ -44,0 +53,0 @@ });

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc