aws-sdk 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/aws-sdk.js +74 -84
- package/dist/aws-sdk.min.js +5 -5
- package/doc-src/guide/browser-examples.md +1 -1
- package/doc-src/guide/browser-intro.md +2 -2
- package/features/rds/rds.feature +5 -0
- package/features/rds/step_definitions/rds.js +38 -0
- package/index.js +2 -0
- package/lib/core.js +2 -2
- package/lib/credentials/shared_ini_file_credentials.js +0 -1
- package/lib/event_listeners.js +11 -0
- package/lib/model/resource_waiter.js +0 -4
- package/lib/protocol/rest_xml.js +1 -1
- package/lib/request.js +36 -43
- package/lib/sequential_executor.js +17 -34
- package/lib/signers/v4.js +2 -1
- package/lib/util.js +24 -1
- package/package.json +3 -2
- package/test/event_listeners.spec.coffee +19 -8
- package/test/helpers.coffee +11 -9
- package/test/model/shape.spec.coffee +4 -4
- package/test/protocol/rest_xml.spec.coffee +17 -0
- package/test/request.spec.coffee +106 -0
- package/test/sequential_executor.spec.coffee +8 -0
- package/test/signers/v4.spec.coffee +8 -4
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ to work with the new major version.
|
|
|
18
18
|
To use the SDK in the browser, simply add the following script tag to your
|
|
19
19
|
HTML pages:
|
|
20
20
|
|
|
21
|
-
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.0.
|
|
21
|
+
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.0.5.min.js"></script>
|
|
22
22
|
|
|
23
23
|
### In Node.js
|
|
24
24
|
|
package/dist/aws-sdk.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// AWS SDK for JavaScript v2.0.
|
|
1
|
+
// AWS SDK for JavaScript v2.0.5
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// License at https://sdk.amazonaws.com/js/BUNDLE_LICENSE.txt
|
|
4
4
|
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
|
@@ -3842,14 +3842,14 @@ AWS.config = new AWS.Config();
|
|
|
3842
3842
|
var AWS = { util: require('./util') };
|
|
3843
3843
|
|
|
3844
3844
|
|
|
3845
|
-
var _hidden = {}; _hidden
|
|
3845
|
+
var _hidden = {}; _hidden.toString(); // hack to parse macro
|
|
3846
3846
|
|
|
3847
3847
|
module.exports = AWS;
|
|
3848
3848
|
|
|
3849
3849
|
AWS.util.update(AWS, {
|
|
3850
3850
|
|
|
3851
3851
|
|
|
3852
|
-
VERSION: '2.0.
|
|
3852
|
+
VERSION: '2.0.5',
|
|
3853
3853
|
|
|
3854
3854
|
|
|
3855
3855
|
Signers: {},
|
|
@@ -4171,6 +4171,17 @@ AWS.EventListeners = {
|
|
|
4171
4171
|
req.httpRequest.headers['Host'] = req.httpRequest.endpoint.host;
|
|
4172
4172
|
});
|
|
4173
4173
|
|
|
4174
|
+
add('RESTART', 'restart', function RESTART(req) {
|
|
4175
|
+
var err = this.response.error;
|
|
4176
|
+
if (!err || !err.retryable) return;
|
|
4177
|
+
|
|
4178
|
+
if (this.response.retryCount < this.service.config.maxRetries) {
|
|
4179
|
+
this.response.retryCount++;
|
|
4180
|
+
} else {
|
|
4181
|
+
this.response.error = null;
|
|
4182
|
+
}
|
|
4183
|
+
});
|
|
4184
|
+
|
|
4174
4185
|
addAsync('SIGN', 'sign', function SIGN(req, done) {
|
|
4175
4186
|
if (!req.service.api.signatureVersion) return done(); // none
|
|
4176
4187
|
|
|
@@ -4925,12 +4936,8 @@ function Paginator(name, paginator) {
|
|
|
4925
4936
|
module.exports = Paginator;
|
|
4926
4937
|
|
|
4927
4938
|
},{"../util":61}],37:[function(require,module,exports){
|
|
4928
|
-
var Shape = require('./shape');
|
|
4929
|
-
var StructureShape = Shape.shapes.StructureShape;
|
|
4930
|
-
|
|
4931
4939
|
var util = require('../util');
|
|
4932
4940
|
var property = util.property;
|
|
4933
|
-
var memoizedProperty = util.memoizedProperty;
|
|
4934
4941
|
|
|
4935
4942
|
function ResourceWaiter(name, waiter, options) {
|
|
4936
4943
|
options = options || {};
|
|
@@ -4979,7 +4986,7 @@ function ResourceWaiter(name, waiter, options) {
|
|
|
4979
4986
|
|
|
4980
4987
|
module.exports = ResourceWaiter;
|
|
4981
4988
|
|
|
4982
|
-
},{"../util":61
|
|
4989
|
+
},{"../util":61}],38:[function(require,module,exports){
|
|
4983
4990
|
var Collection = require('./collection');
|
|
4984
4991
|
|
|
4985
4992
|
var util = require('../util');
|
|
@@ -5829,7 +5836,7 @@ function extractData(resp) {
|
|
|
5829
5836
|
resp.data[payload] = body;
|
|
5830
5837
|
} else if (payloadMember.type === 'structure') {
|
|
5831
5838
|
parser = new AWS.XML.Parser();
|
|
5832
|
-
resp.data
|
|
5839
|
+
util.update(resp.data, parser.parse(body.toString(), payloadMember));
|
|
5833
5840
|
} else {
|
|
5834
5841
|
resp.data[payload] = body.toString();
|
|
5835
5842
|
}
|
|
@@ -6014,14 +6021,6 @@ var AcceptorStateMachine = require('./state_machine');
|
|
|
6014
6021
|
var inherit = AWS.util.inherit;
|
|
6015
6022
|
|
|
6016
6023
|
var hardErrorStates = {success:1, error:1, complete:1};
|
|
6017
|
-
var hardErrors = {
|
|
6018
|
-
EvalError: 1,
|
|
6019
|
-
RangeError: 1,
|
|
6020
|
-
ReferenceError: 1,
|
|
6021
|
-
SyntaxError: 1,
|
|
6022
|
-
TypeError: 1,
|
|
6023
|
-
URIError: 1
|
|
6024
|
-
};
|
|
6025
6024
|
|
|
6026
6025
|
function isTerminalState(machine) {
|
|
6027
6026
|
return hardErrorStates.hasOwnProperty(machine._asm.currentState);
|
|
@@ -6034,37 +6033,24 @@ fsm.setupStates = function() {
|
|
|
6034
6033
|
var self = this;
|
|
6035
6034
|
self.emit(self._asm.currentState, function() {
|
|
6036
6035
|
var nextError = self.response.error;
|
|
6037
|
-
if (nextError && isTerminalState(self)) {
|
|
6038
|
-
|
|
6039
|
-
if (!isHardError) nextError = null;
|
|
6036
|
+
if (nextError && nextError !== err && isTerminalState(self)) {
|
|
6037
|
+
throw nextError;
|
|
6040
6038
|
}
|
|
6041
6039
|
|
|
6042
6040
|
done(nextError);
|
|
6043
6041
|
});
|
|
6044
6042
|
|
|
6045
6043
|
} catch (e) {
|
|
6046
|
-
err
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
|
|
6044
|
+
if (e !== err && isTerminalState(self)) {
|
|
6045
|
+
AWS.SequentialExecutor.prototype.unhandledErrorCallback.call(this, e);
|
|
6046
|
+
done();
|
|
6047
|
+
} else {
|
|
6048
|
+
done(e);
|
|
6050
6049
|
}
|
|
6051
|
-
done(err);
|
|
6052
6050
|
}
|
|
6053
6051
|
};
|
|
6054
6052
|
|
|
6055
6053
|
this.addState('validate', 'build', 'error', transition);
|
|
6056
|
-
this.addState('restart', 'build', 'error', function(err, done) {
|
|
6057
|
-
err = this.response.error;
|
|
6058
|
-
if (!err) return done();
|
|
6059
|
-
if (!err.retryable) return done(err);
|
|
6060
|
-
|
|
6061
|
-
if (this.response.retryCount < this.service.config.maxRetries) {
|
|
6062
|
-
this.response.retryCount++;
|
|
6063
|
-
done();
|
|
6064
|
-
} else {
|
|
6065
|
-
done(err);
|
|
6066
|
-
}
|
|
6067
|
-
});
|
|
6068
6054
|
this.addState('build', 'afterBuild', 'restart', transition);
|
|
6069
6055
|
this.addState('afterBuild', 'sign', 'restart', transition);
|
|
6070
6056
|
this.addState('sign', 'send', 'retry', transition);
|
|
@@ -6074,13 +6060,10 @@ fsm.setupStates = function() {
|
|
|
6074
6060
|
this.addState('validateResponse', 'extractData', 'extractError', transition);
|
|
6075
6061
|
this.addState('extractError', 'extractData', 'retry', transition);
|
|
6076
6062
|
this.addState('extractData', 'success', 'retry', transition);
|
|
6063
|
+
this.addState('restart', 'build', 'error', transition);
|
|
6077
6064
|
this.addState('success', 'complete', 'complete', transition);
|
|
6078
6065
|
this.addState('error', 'complete', 'complete', transition);
|
|
6079
|
-
this.addState('complete', null,
|
|
6080
|
-
this.addState('uncaughtException', function(err, done) {
|
|
6081
|
-
AWS.SequentialExecutor.prototype.unhandledErrorCallback.call(this, err);
|
|
6082
|
-
done(err);
|
|
6083
|
-
});
|
|
6066
|
+
this.addState('complete', null, null, transition);
|
|
6084
6067
|
};
|
|
6085
6068
|
fsm.setupStates();
|
|
6086
6069
|
|
|
@@ -6101,7 +6084,6 @@ AWS.Request = inherit({
|
|
|
6101
6084
|
this.startTime = AWS.util.date.getDate();
|
|
6102
6085
|
|
|
6103
6086
|
this.response = new AWS.Response(this);
|
|
6104
|
-
this.restartCount = 0;
|
|
6105
6087
|
this._asm = new AcceptorStateMachine(fsm.states, 'validate');
|
|
6106
6088
|
|
|
6107
6089
|
AWS.SequentialExecutor.call(this);
|
|
@@ -6155,15 +6137,18 @@ AWS.Request = inherit({
|
|
|
6155
6137
|
|
|
6156
6138
|
|
|
6157
6139
|
eachPage: function eachPage(callback) {
|
|
6140
|
+
callback = AWS.util.fn.makeAsync(callback, 3);
|
|
6141
|
+
|
|
6158
6142
|
function wrappedCallback(response) {
|
|
6159
|
-
|
|
6160
|
-
|
|
6143
|
+
callback.call(response, response.error, response.data, function (result) {
|
|
6144
|
+
if (result === false) return;
|
|
6161
6145
|
|
|
6162
|
-
|
|
6163
|
-
|
|
6164
|
-
|
|
6165
|
-
|
|
6166
|
-
|
|
6146
|
+
if (response.hasNextPage()) {
|
|
6147
|
+
response.nextPage().on('complete', wrappedCallback).send();
|
|
6148
|
+
} else {
|
|
6149
|
+
callback.call(response, null, null, AWS.util.fn.noop);
|
|
6150
|
+
}
|
|
6151
|
+
});
|
|
6167
6152
|
}
|
|
6168
6153
|
|
|
6169
6154
|
this.on('complete', wrappedCallback).send();
|
|
@@ -6270,6 +6255,7 @@ AWS.Request = inherit({
|
|
|
6270
6255
|
|
|
6271
6256
|
eventParameters: function eventParameters(eventName) {
|
|
6272
6257
|
switch (eventName) {
|
|
6258
|
+
case 'restart':
|
|
6273
6259
|
case 'validate':
|
|
6274
6260
|
case 'sign':
|
|
6275
6261
|
case 'build':
|
|
@@ -6627,9 +6613,6 @@ AWS.SequentialExecutor = AWS.util.inherit({
|
|
|
6627
6613
|
|
|
6628
6614
|
emit: function emit(eventName, eventArgs, doneCallback) {
|
|
6629
6615
|
if (!doneCallback) doneCallback = this.unhandledErrorCallback;
|
|
6630
|
-
if (domain && this.domain instanceof domain.Domain)
|
|
6631
|
-
this.domain.enter();
|
|
6632
|
-
|
|
6633
6616
|
var listeners = this.listeners(eventName);
|
|
6634
6617
|
var count = listeners.length;
|
|
6635
6618
|
this.callListeners(listeners, eventArgs, doneCallback);
|
|
@@ -6640,37 +6623,25 @@ AWS.SequentialExecutor = AWS.util.inherit({
|
|
|
6640
6623
|
callListeners: function callListeners(listeners, args, doneCallback) {
|
|
6641
6624
|
if (listeners.length === 0) {
|
|
6642
6625
|
doneCallback.call(this);
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
} else {
|
|
6646
|
-
var listener = listeners.shift();
|
|
6647
|
-
if (listener._isAsync) {
|
|
6648
|
-
|
|
6649
|
-
var self = this;
|
|
6650
|
-
var callNextListener = function(err) {
|
|
6651
|
-
if (err) {
|
|
6652
|
-
doneCallback.call(self, err);
|
|
6653
|
-
if (domain && self.domain instanceof domain.Domain)
|
|
6654
|
-
self.domain.exit();
|
|
6655
|
-
} else {
|
|
6656
|
-
self.callListeners(listeners, args, doneCallback);
|
|
6657
|
-
}
|
|
6658
|
-
};
|
|
6659
|
-
listener.apply(this, args.concat([callNextListener]));
|
|
6660
|
-
|
|
6661
|
-
} else {
|
|
6662
|
-
|
|
6663
|
-
try {
|
|
6664
|
-
listener.apply(this, args);
|
|
6665
|
-
this.callListeners(listeners, args, doneCallback);
|
|
6666
|
-
} catch (err) {
|
|
6667
|
-
if (err._hardError) throw err;
|
|
6626
|
+
return;
|
|
6627
|
+
}
|
|
6668
6628
|
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6629
|
+
var self = this, listener = listeners.shift();
|
|
6630
|
+
if (listener._isAsync) { // asynchronous listener
|
|
6631
|
+
var callNextListener = function(err) {
|
|
6632
|
+
if (err) {
|
|
6633
|
+
doneCallback.call(self, err);
|
|
6634
|
+
} else {
|
|
6635
|
+
self.callListeners(listeners, args, doneCallback);
|
|
6672
6636
|
}
|
|
6673
|
-
|
|
6637
|
+
};
|
|
6638
|
+
listener.apply(self, args.concat([callNextListener]));
|
|
6639
|
+
} else { // synchronous listener
|
|
6640
|
+
try {
|
|
6641
|
+
listener.apply(self, args);
|
|
6642
|
+
self.callListeners(listeners, args, doneCallback);
|
|
6643
|
+
} catch (err) {
|
|
6644
|
+
doneCallback.call(self, err);
|
|
6674
6645
|
}
|
|
6675
6646
|
}
|
|
6676
6647
|
},
|
|
@@ -7716,9 +7687,10 @@ AWS.Signers.V4 = inherit(AWS.Signers.RequestSigner, {
|
|
|
7716
7687
|
},
|
|
7717
7688
|
|
|
7718
7689
|
unsignableHeaders: ['authorization', 'content-type', 'content-length',
|
|
7719
|
-
|
|
7690
|
+
'user-agent', expiresHeader],
|
|
7720
7691
|
|
|
7721
7692
|
isSignableHeader: function isSignableHeader(key) {
|
|
7693
|
+
if (key.toLowerCase().indexOf('x-amz-') === 0) return true;
|
|
7722
7694
|
return this.unsignableHeaders.indexOf(key) < 0;
|
|
7723
7695
|
},
|
|
7724
7696
|
|
|
@@ -7950,6 +7922,24 @@ var util = {
|
|
|
7950
7922
|
}
|
|
7951
7923
|
},
|
|
7952
7924
|
|
|
7925
|
+
fn: {
|
|
7926
|
+
noop: function(){},
|
|
7927
|
+
|
|
7928
|
+
|
|
7929
|
+
makeAsync: function makeAsync(fn, expectedArgs) {
|
|
7930
|
+
if (expectedArgs && expectedArgs <= fn.length) {
|
|
7931
|
+
return fn;
|
|
7932
|
+
}
|
|
7933
|
+
|
|
7934
|
+
return function() {
|
|
7935
|
+
var args = Array.prototype.slice.call(arguments, 0);
|
|
7936
|
+
var callback = args.pop();
|
|
7937
|
+
var result = fn.apply(null, args);
|
|
7938
|
+
callback(result);
|
|
7939
|
+
};
|
|
7940
|
+
}
|
|
7941
|
+
},
|
|
7942
|
+
|
|
7953
7943
|
jamespath: {
|
|
7954
7944
|
query: function query(expression, data) {
|
|
7955
7945
|
if (!data) return [];
|
|
@@ -8047,7 +8037,7 @@ var util = {
|
|
|
8047
8037
|
|
|
8048
8038
|
parseTimestamp: function parseTimestamp(value) {
|
|
8049
8039
|
if (typeof value === 'number') { // unix timestamp (number)
|
|
8050
|
-
return new Date(value);
|
|
8040
|
+
return new Date(value * 1000);
|
|
8051
8041
|
} else if (value.match(/^\d+$/)) { // unix timestamp
|
|
8052
8042
|
return new Date(value * 1000);
|
|
8053
8043
|
} else if (value.match(/^\d{4}/)) { // iso8601
|