Skip to content

Commit 543052d

Browse files
authored
fix(sqs): set httpRequest.params in queryCompatibility mode in JSON protocol (#4405)
1 parent 53d23eb commit 543052d

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "bugfix",
3+
"category": "SQS",
4+
"description": "add queryCompatibility fix to JSON protocol"
5+
}

lib/protocol/json.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@ function buildRequest(req) {
1212
var builder = new JsonBuilder();
1313

1414
if (version === 1) version = '1.0';
15+
16+
if (api.awsQueryCompatible) {
17+
if (!httpRequest.params) {
18+
httpRequest.params = {};
19+
}
20+
// because Query protocol does this.
21+
Object.assign(httpRequest.params, req.params);
22+
}
23+
1524
httpRequest.body = builder.build(req.params || {}, input);
1625
httpRequest.headers['Content-Type'] = 'application/x-amz-json-' + version;
1726
httpRequest.headers['X-Amz-Target'] = target;

lib/services/sqs.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ AWS.util.update(AWS.SQS.prototype, {
55
* @api private
66
*/
77
setupRequestListeners: function setupRequestListeners(request) {
8-
request.addListener('build', this.buildEndpoint.bind(this));
8+
request.addListener('build', this.buildEndpoint);
99

1010
if (request.service.config.computeChecksums) {
1111
if (request.operation === 'sendMessage') {
@@ -118,8 +118,7 @@ AWS.util.update(AWS.SQS.prototype, {
118118
* @api private
119119
*/
120120
buildEndpoint: function buildEndpoint(request) {
121-
var params = request.httpRequest.params || this.config.params;
122-
var url = params.QueueUrl;
121+
var url = request.httpRequest.params.QueueUrl;
123122
if (url) {
124123
request.httpRequest.endpoint = new AWS.Endpoint(url);
125124

0 commit comments

Comments
 (0)