node_loader.js (2138B)
1 var util = require('./util'); 2 3 // node.js specific modules 4 util.crypto.lib = require('crypto'); 5 util.Buffer = require('buffer').Buffer; 6 util.domain = require('domain'); 7 util.stream = require('stream'); 8 util.url = require('url'); 9 util.querystring = require('querystring'); 10 11 var AWS = require('./core'); 12 13 // Use default API loader function 14 require('./api_loader'); 15 16 // Load the xml2js XML parser 17 AWS.XML.Parser = require('./xml/node_parser'); 18 19 // Load Node HTTP client 20 require('./http/node'); 21 22 // Load custom credential providers 23 require('./credentials/ec2_metadata_credentials'); 24 require('./credentials/ecs_credentials'); 25 require('./credentials/environment_credentials'); 26 require('./credentials/file_system_credentials'); 27 require('./credentials/shared_ini_file_credentials'); 28 29 // Setup default chain providers 30 // If this changes, please update documentation for 31 // AWS.CredentialProviderChain.defaultProviders in 32 // credentials/credential_provider_chain.js 33 AWS.CredentialProviderChain.defaultProviders = [ 34 function () { return new AWS.EnvironmentCredentials('AWS'); }, 35 function () { return new AWS.EnvironmentCredentials('AMAZON'); }, 36 function () { return new AWS.SharedIniFileCredentials(); }, 37 function () { 38 if (AWS.ECSCredentials.prototype.getECSRelativeUri() !== undefined) { 39 return new AWS.ECSCredentials(); 40 } 41 return new AWS.EC2MetadataCredentials(); 42 } 43 ]; 44 45 // Update configuration keys 46 AWS.util.update(AWS.Config.prototype.keys, { 47 credentials: function () { 48 var credentials = null; 49 new AWS.CredentialProviderChain([ 50 function () { return new AWS.EnvironmentCredentials('AWS'); }, 51 function () { return new AWS.EnvironmentCredentials('AMAZON'); }, 52 function () { return new AWS.SharedIniFileCredentials({ disableAssumeRole: true }); } 53 ]).resolve(function(err, creds) { 54 if (!err) credentials = creds; 55 }); 56 return credentials; 57 }, 58 credentialProvider: function() { 59 return new AWS.CredentialProviderChain(); 60 }, 61 region: function() { 62 return process.env.AWS_REGION || process.env.AMAZON_REGION; 63 } 64 }); 65 66 // Reset configuration 67 AWS.config = new AWS.Config();