Skip to content

Commit cccf217

Browse files
committed
Update sqs-consumer to v13.0.0 and improve message handling logic
1 parent 1158d95 commit cccf217

3 files changed

Lines changed: 29 additions & 18 deletions

File tree

.changeset/curly-clouds-wait.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@mqueue/sqs": minor
3+
---
4+
5+
BREAKING: Update `sqs-consumer` to `v13.0.0`

packages/sqs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@
5656
},
5757
"dependencies": {
5858
"@aws-sdk/client-sqs": "^3.859.0",
59-
"sqs-consumer": "^12.0.0"
59+
"sqs-consumer": "^13.0.0"
6060
}
6161
}

packages/sqs/src/SQSIncomingQueue.ts

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ export default class SQSIncomingQueue implements IncomingQueueAdapter {
5858
protected async _handleMessage(
5959
message: AWS.Message,
6060
): Promise<AWS.Message | void> {
61-
if (!message.Body) {
61+
const body = message.Body;
62+
if (!body) {
6263
throw new Error("Received message with no body");
6364
}
6465

@@ -89,22 +90,27 @@ export default class SQSIncomingQueue implements IncomingQueueAdapter {
8990
}
9091
}
9192

92-
await this._callback?.({
93-
// raw: message,
94-
accept: async () => {
95-
await this.client.deleteMessage({
96-
QueueUrl: this._queueURL,
97-
ReceiptHandle: message.ReceiptHandle,
98-
});
99-
},
100-
reject: async () => {},
101-
transport: {
102-
name: this._queueURL,
103-
},
104-
message: {
105-
headers,
106-
body: Buffer.from(message.Body),
107-
},
93+
return new Promise<AWS.Message | undefined>((resolve, reject) => {
94+
this._callback?.({
95+
// raw: message,
96+
accept: async () => {
97+
resolve(message);
98+
await this.client.deleteMessage({
99+
QueueUrl: this._queueURL,
100+
ReceiptHandle: message.ReceiptHandle,
101+
});
102+
},
103+
reject: async () => {
104+
reject();
105+
},
106+
transport: {
107+
name: this._queueURL,
108+
},
109+
message: {
110+
headers,
111+
body: Buffer.from(body),
112+
},
113+
});
108114
});
109115
}
110116

0 commit comments

Comments
 (0)