110 lines
2.4 KiB
JavaScript
110 lines
2.4 KiB
JavaScript
/**
|
|
* The main AWS namespace
|
|
*/
|
|
var AWS = { util: require('./util') };
|
|
|
|
/**
|
|
* @api private
|
|
* @!macro [new] nobrowser
|
|
* @note This feature is not supported in the browser environment of the SDK.
|
|
*/
|
|
var _hidden = {}; _hidden.toString(); // hack to parse macro
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
module.exports = AWS;
|
|
|
|
AWS.util.update(AWS, {
|
|
|
|
/**
|
|
* @constant
|
|
*/
|
|
VERSION: '2.451.0',
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
Signers: {},
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
Protocol: {
|
|
Json: require('./protocol/json'),
|
|
Query: require('./protocol/query'),
|
|
Rest: require('./protocol/rest'),
|
|
RestJson: require('./protocol/rest_json'),
|
|
RestXml: require('./protocol/rest_xml')
|
|
},
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
XML: {
|
|
Builder: require('./xml/builder'),
|
|
Parser: null // conditionally set based on environment
|
|
},
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
JSON: {
|
|
Builder: require('./json/builder'),
|
|
Parser: require('./json/parser')
|
|
},
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
Model: {
|
|
Api: require('./model/api'),
|
|
Operation: require('./model/operation'),
|
|
Shape: require('./model/shape'),
|
|
Paginator: require('./model/paginator'),
|
|
ResourceWaiter: require('./model/resource_waiter')
|
|
},
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
apiLoader: require('./api_loader'),
|
|
|
|
/**
|
|
* @api private
|
|
*/
|
|
EndpointCache: require('../vendor/endpoint-cache').EndpointCache
|
|
});
|
|
require('./sequential_executor');
|
|
require('./service');
|
|
require('./config');
|
|
require('./http');
|
|
require('./event_listeners');
|
|
require('./request');
|
|
require('./response');
|
|
require('./resource_waiter');
|
|
require('./signers/request_signer');
|
|
require('./param_validator');
|
|
|
|
/**
|
|
* @readonly
|
|
* @return [AWS.SequentialExecutor] a collection of global event listeners that
|
|
* are attached to every sent request.
|
|
* @see AWS.Request AWS.Request for a list of events to listen for
|
|
* @example Logging the time taken to send a request
|
|
* AWS.events.on('send', function startSend(resp) {
|
|
* resp.startTime = new Date().getTime();
|
|
* }).on('complete', function calculateTime(resp) {
|
|
* var time = (new Date().getTime() - resp.startTime) / 1000;
|
|
* console.log('Request took ' + time + ' seconds');
|
|
* });
|
|
*
|
|
* new AWS.S3().listBuckets(); // prints 'Request took 0.285 seconds'
|
|
*/
|
|
AWS.events = new AWS.SequentialExecutor();
|
|
|
|
//create endpoint cache lazily
|
|
AWS.util.memoizedProperty(AWS, 'endpointCache', function() {
|
|
return new AWS.EndpointCache(AWS.config.endpointCacheSize);
|
|
}, true);
|