Skip to content

Commit 8c0c268

Browse files
committed
Merge pull request #449 from aws/fix-cloudsearchdomain-signing
Fix CloudSearchDomain signing on EC2 instance
2 parents 8a15f08 + bf8ece7 commit 8c0c268

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

lib/services/cloudsearchdomain.js

+15-8
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,21 @@ AWS.util.update(AWS.CloudSearchDomain.prototype, {
7171
* @api private
7272
*/
7373
setupRequestListeners: function setupRequestListeners(request) {
74-
if (!request.service.config.credentials) {
75-
request.removeListener('validate',
76-
AWS.EventListeners.Core.VALIDATE_CREDENTIALS
77-
);
78-
request.removeListener('sign', AWS.EventListeners.Core.SIGN);
79-
} else {
80-
request.addListener('validate', this.updateRegion);
81-
}
74+
request.removeListener('validate',
75+
AWS.EventListeners.Core.VALIDATE_CREDENTIALS
76+
);
77+
request.onAsync('validate', this.validateCredentials);
78+
request.addListener('validate', this.updateRegion);
79+
},
80+
81+
validateCredentials: function(req, done) {
82+
if (!req.service.api.signatureVersion) return done(); // none
83+
req.service.config.getCredentials(function(err) {
84+
if (err) {
85+
req.removeListener('sign', AWS.EventListeners.Core.SIGN);
86+
}
87+
done();
88+
});
8289
},
8390

8491
/**

test/credential_provider_chain.spec.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ if AWS.util.isNode()
1616

1717
afterEach ->
1818
AWS.CredentialProviderChain.defaultProviders = defaultProviders
19+
process.env = {}
1920

2021
it 'returns an error by default', ->
2122
chain.resolve (err) ->

test/credentials.spec.coffee

+3
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,9 @@ if AWS.util.isNode()
9191
beforeEach ->
9292
process.env = {}
9393

94+
afterEach ->
95+
process.env = {}
96+
9497
describe 'constructor', ->
9598
it 'should be able to read credentials from env with a prefix', ->
9699
process.env.AWS_ACCESS_KEY_ID = 'akid'

0 commit comments

Comments
 (0)