/** * 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);