UNPKG

2.49 kBJavaScriptView Raw
1/**
2 * The main AWS namespace
3 */
4var AWS = { util: require('./util') };
5
6/**
7 * @api private
8 * @!macro [new] nobrowser
9 * @note This feature is not supported in the browser environment of the SDK.
10 */
11var _hidden = {}; _hidden.toString(); // hack to parse macro
12
13/**
14 * @api private
15 */
16module.exports = AWS;
17
18AWS.util.update(AWS, {
19
20 /**
21 * @constant
22 */
23 VERSION: '2.435.0',
24
25 /**
26 * @api private
27 */
28 Signers: {},
29
30 /**
31 * @api private
32 */
33 Protocol: {
34 Json: require('./protocol/json'),
35 Query: require('./protocol/query'),
36 Rest: require('./protocol/rest'),
37 RestJson: require('./protocol/rest_json'),
38 RestXml: require('./protocol/rest_xml')
39 },
40
41 /**
42 * @api private
43 */
44 XML: {
45 Builder: require('./xml/builder'),
46 Parser: null // conditionally set based on environment
47 },
48
49 /**
50 * @api private
51 */
52 JSON: {
53 Builder: require('./json/builder'),
54 Parser: require('./json/parser')
55 },
56
57 /**
58 * @api private
59 */
60 Model: {
61 Api: require('./model/api'),
62 Operation: require('./model/operation'),
63 Shape: require('./model/shape'),
64 Paginator: require('./model/paginator'),
65 ResourceWaiter: require('./model/resource_waiter')
66 },
67
68 /**
69 * @api private
70 */
71 apiLoader: require('./api_loader'),
72
73 /**
74 * @api private
75 */
76 EndpointCache: require('../vendor/endpoint-cache').EndpointCache
77});
78require('./sequential_executor');
79require('./service');
80require('./config');
81require('./http');
82require('./event_listeners');
83require('./request');
84require('./response');
85require('./resource_waiter');
86require('./signers/request_signer');
87require('./param_validator');
88
89/**
90 * @readonly
91 * @return [AWS.SequentialExecutor] a collection of global event listeners that
92 * are attached to every sent request.
93 * @see AWS.Request AWS.Request for a list of events to listen for
94 * @example Logging the time taken to send a request
95 * AWS.events.on('send', function startSend(resp) {
96 * resp.startTime = new Date().getTime();
97 * }).on('complete', function calculateTime(resp) {
98 * var time = (new Date().getTime() - resp.startTime) / 1000;
99 * console.log('Request took ' + time + ' seconds');
100 * });
101 *
102 * new AWS.S3().listBuckets(); // prints 'Request took 0.285 seconds'
103 */
104AWS.events = new AWS.SequentialExecutor();
105
106//create endpoint cache lazily
107AWS.util.memoizedProperty(AWS, 'endpointCache', function() {
108 return new AWS.EndpointCache(AWS.config.endpointCacheSize);
109}, true);