Skip to content

Commit 5ca3fb8

Browse files
committed
Rewrite queueUrl with endpoint
1 parent 921b210 commit 5ca3fb8

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

packages/serverless-offline-sqs/src/sqs.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,20 @@ class SQS {
4848
return this._sqsEvent(functionKey, sqsEvent);
4949
}
5050

51+
_rewriteQueueUrl(queueUrl) {
52+
if (!this.options.endpoint) return queueUrl;
53+
54+
const {hostname, protocol, username, password, port} = new URL(this.options.endpoint);
55+
const rewritedQueueUrl = new URL(queueUrl);
56+
rewritedQueueUrl.hostname = hostname;
57+
rewritedQueueUrl.protocol = protocol;
58+
rewritedQueueUrl.username = username;
59+
rewritedQueueUrl.password = password;
60+
rewritedQueueUrl.port = port;
61+
62+
return rewritedQueueUrl.href;
63+
}
64+
5165
async _getQueueUrl(queueName) {
5266
try {
5367
return await this.client.getQueueUrl({QueueName: queueName}).promise();
@@ -64,7 +78,9 @@ class SQS {
6478

6579
if (this.options.autoCreate) await this._createQueue(sqsEvent);
6680

67-
const {QueueUrl} = await this.client.getQueueUrl({QueueName: queueName}).promise();
81+
const QueueUrl = this._rewriteQueueUrl(
82+
(await this.client.getQueueUrl({QueueName: queueName}).promise()).QueueUrl
83+
);
6884

6985
const job = async () => {
7086
const {Messages} = await this.client

tests/serverless-plugins-integration/serverless.sqs.autocreate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ custom:
5353
serverless-offline:
5454
httpPort: 3223
5555
serverless-offline-sqs:
56-
endpoint: http://localhost:${ssm:/sqs/port}
56+
endpoint: http://127.0.0.1:${ssm:/sqs/port}
5757
accessKeyId: root
5858
secretAccessKey: root
5959
autoCreate: true

0 commit comments

Comments
 (0)