💾 Archived View for gmi.noulin.net › gitRepositories › git-off › file › src › node_modules › aws-sdk… captured on 2023-07-10 at 16:25:52. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
v2.js (1292B)
1 var AWS = require('../core'); 2 var inherit = AWS.util.inherit; 3 4 /** 5 * @api private 6 */ 7 AWS.Signers.V2 = inherit(AWS.Signers.RequestSigner, { 8 addAuthorization: function addAuthorization(credentials, date) { 9 10 if (!date) date = AWS.util.date.getDate(); 11 12 var r = this.request; 13 14 r.params.Timestamp = AWS.util.date.iso8601(date); 15 r.params.SignatureVersion = '2'; 16 r.params.SignatureMethod = 'HmacSHA256'; 17 r.params.AWSAccessKeyId = credentials.accessKeyId; 18 19 if (credentials.sessionToken) { 20 r.params.SecurityToken = credentials.sessionToken; 21 } 22 23 delete r.params.Signature; // delete old Signature for re-signing 24 r.params.Signature = this.signature(credentials); 25 26 r.body = AWS.util.queryParamsToString(r.params); 27 r.headers['Content-Length'] = r.body.length; 28 }, 29 30 signature: function signature(credentials) { 31 return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64'); 32 }, 33 34 stringToSign: function stringToSign() { 35 var parts = []; 36 parts.push(this.request.method); 37 parts.push(this.request.endpoint.host.toLowerCase()); 38 parts.push(this.request.pathname()); 39 parts.push(AWS.util.queryParamsToString(this.request.params)); 40 return parts.join('\n'); 41 } 42 43 }); 44 45 module.exports = AWS.Signers.V2;