-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSnowLib.AWS.Requester.Request.js
More file actions
59 lines (42 loc) · 1.61 KB
/
SnowLib.AWS.Requester.Request.js
File metadata and controls
59 lines (42 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
gs.include('SnowLib.AWS.Requester.Signer');
SnowLib.namespace('SnowLib.AWS.Requester');
SnowLib.AWS.Requester.Request = function(reqParams, propGetter) {
propGetter = propGetter || gs;
var gl = new GSLog("snowlib.aws.log", "SnowLib.AWS.Requester.Request");
// Preserve the original reqParams object passed in by copying it
var json = new JSON();
var req = json.decode(json.encode(reqParams));
req.method = req.method || 'GET';
req.region = req.region || propGetter.getProperty('snowlib.aws.region');
req.path = req.path || '/';
req.headers = req.headers || {};
var secret = propGetter.getProperty('snowlib.aws.secret_key');
var accessKey = propGetter.getProperty('snowlib.aws.access_key');
var rmv2 = SnowLib.AWS.Requester.Signer.makeSignedRestMessageV2(req, secret, accessKey);
this.execute = function() {
var requestStamp = new Date().getTime();
gl.logInfo('Canonical Request #' + requestStamp + ':\n' + rmv2._snowlib_debug_canonical_request);
var resp = rmv2.execute();
var respHeaders = resp.getHeaders();
var respLogArr = [];
respLogArr.push('Response #' + requestStamp + ':');
respLogArr.push(resp.getStatusCode());
for (var h in respHeaders) {
respLogArr.push(h + ': ' + respHeaders[h]);
}
respLogArr.push('\n' + resp.getBody());
gl.logInfo(respLogArr.join('\n'));
var helper = new XMLHelper(resp.getBody());
var obj = helper.toObject();
return {
statusCode : resp.getStatusCode(),
headers : respHeaders,
bodyRaw : resp.getBody(),
body : helper.toObject(),
queryString : resp.getQueryString()
};
};
this.getSignedRestMessageV2 = function() {
return rmv2;
};
};