git-off

git off handles large files in git repos
git clone https://noulin.net/git/git-off.git
Log | Files | Refs | README

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;