Skip to content

Commit

Permalink
Removed default signing mechanisms for QueryRequestss.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jordan Ryan Moore committed May 4, 2011
1 parent c906841 commit ea55647
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 52 deletions.
52 changes: 0 additions & 52 deletions lib/aws.js
Expand Up @@ -263,58 +263,6 @@ var QueryRequest = module.exports.QueryRequest = function(args, host, path, vers

util.inherits(QueryRequest, Request);

/**
* Returns the string to sign.
*
* @param {String} accessKeyId
* @return {String}
*/
QueryRequest.prototype.getStringToSign = function(accessKeyId) {
var self = this;
var query = self._getQuery();
var queryNames = [];
var sortedQuery = {};
query.AWSAccessKeyId = accessKeyId;

for (var name in query) {
queryNames.push(name);
}

queryNames.sort();

for (var i in queryNames) {
var queryName = queryNames[i];
sortedQuery[queryName] = query[queryName];
}

var stringToSign = self._method + "\n"
+ self._host + "\n"
+ self._path + "\n"
+ _.stringifyQuery(sortedQuery);

return stringToSign;
}

/**
* Signs the request with the given key and signature.
*
* @param {String} accessKeyId
* @param {String} secretAccessKey
* @return {Request}
*/
QueryRequest.prototype.sign = function(accessKeyId, signature) {
Request.prototype.sign.call(this, accessKeyId, signature);

var self = this;
self._query.AWSAccessKeyId = _.asString(accessKeyId);
self._query.Signature = _.asString(signature);
self._query.SignatureMethod = 'Hmac' + self.getSignatureAlgorithm().toUpperCase();
self._query.SignatureVersion = 2;
self._query.Timestamp = self._date.toISOString().replace(/\.[0-9]{0,3}Z$/, 'Z');

return self;
}

/**
* Returns the request options (http/https compatible).
*
Expand Down
54 changes: 54 additions & 0 deletions lib/ec2.js
Expand Up @@ -18,10 +18,64 @@ var methods = module.exports.methods = {
*/
var Request = module.exports.Request = function(args, action) {
aws.QueryRequest.call(this, args, 'ec2.amazonaws.com', '/', version, action);

var self = this;
var query = self._query;
query.SignatureMethod = 'Hmac' + self.getSignatureAlgorithm().toUpperCase();
query.SignatureVersion = 2;
query.Timestamp = self._date.toISOString().replace(/\.[0-9]{0,3}Z$/, 'Z');
}

util.inherits(Request, aws.QueryRequest);

/**
* Returns the string to sign.
*
* @param {String} accessKeyId
* @return {String}
*/
Request.prototype.getStringToSign = function(accessKeyId) {
var self = this;
var query = self._getQuery();
var queryNames = [];
var sortedQuery = {};
query.AWSAccessKeyId = accessKeyId;

for (var name in query) {
queryNames.push(name);
}

queryNames.sort();

for (var i in queryNames) {
var queryName = queryNames[i];
sortedQuery[queryName] = query[queryName];
}

var stringToSign = self._method + "\n"
+ self._host + "\n"
+ self._path + "\n"
+ _.stringifyQuery(sortedQuery);

return stringToSign;
}

/**
* Signs the request with the given key and signature.
*
* @param {String} accessKeyId
* @param {String} secretAccessKey
* @return {Request}
*/
Request.prototype.sign = function(accessKeyId, signature) {
var self = this;
var query = self._query;
query.AWSAccessKeyId = _.asString(accessKeyId);
query.Signature = _.asString(signature);

return self;
}

/**
* A generic EC2 response.
*
Expand Down
54 changes: 54 additions & 0 deletions lib/simpledb.js
Expand Up @@ -27,10 +27,64 @@ var methods = module.exports.methods = {
*/
var Request = module.exports.Request = function(args, action) {
aws.QueryRequest.call(this, args, 'sdb.amazonaws.com', '/', version, action);

var self = this;
var query = self._query;
query.SignatureMethod = 'Hmac' + self.getSignatureAlgorithm().toUpperCase();
query.SignatureVersion = 2;
query.Timestamp = self._date.toISOString().replace(/\.[0-9]{0,3}Z$/, 'Z');
}

util.inherits(Request, aws.QueryRequest);

/**
* Returns the string to sign.
*
* @param {String} accessKeyId
* @return {String}
*/
Request.prototype.getStringToSign = function(accessKeyId) {
var self = this;
var query = self._getQuery();
var queryNames = [];
var sortedQuery = {};
query.AWSAccessKeyId = accessKeyId;

for (var name in query) {
queryNames.push(name);
}

queryNames.sort();

for (var i in queryNames) {
var queryName = queryNames[i];
sortedQuery[queryName] = query[queryName];
}

var stringToSign = self._method + "\n"
+ self._host + "\n"
+ self._path + "\n"
+ _.stringifyQuery(sortedQuery);

return stringToSign;
}

/**
* Signs the request with the given key and signature.
*
* @param {String} accessKeyId
* @param {String} secretAccessKey
* @return {Request}
*/
Request.prototype.sign = function(accessKeyId, signature) {
var self = this;
var query = self._query;
query.AWSAccessKeyId = _.asString(accessKeyId);
query.Signature = _.asString(signature);

return self;
}

/**
* A generic SimpleDB response.
*
Expand Down

0 comments on commit ea55647

Please sign in to comment.