Skip to content

Commit 7ef8884

Browse files
fix(rpc): pass all props of original message to retry message
1 parent 95f2b3f commit 7ef8884

File tree

1 file changed

+33
-9
lines changed

1 file changed

+33
-9
lines changed

src/AMQPMessageRpcController.js

+33-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// @flow
2+
import type { PublishOptions } from 'amqplib';
23
import AMQPMessageController from './AMQPMessageController';
34
import AMQPMessage from './AMQPMessage';
45
import RpcService from './Service';
@@ -30,24 +31,47 @@ class AMQPMessageRpcController extends AMQPMessageController {
3031
}
3132

3233
async resendAsRetry() {
33-
const { messageId, correlationId, replyTo } = this._message.props;
34-
3534
const retryLimit = this._message.applicationLevelRetryLimit;
3635

3736
if (retryLimit === null) {
3837
throw new Error('Retry disabled');
3938
}
4039

4140
const adapter = this._service._getAdapter();
42-
await adapter.send(this._message.sourceQueue, this._message.payload, {
43-
messageId,
44-
correlationId,
45-
replyTo,
41+
42+
await adapter.send(
43+
this._message.sourceQueue,
44+
this._message.payload,
45+
this._getPublishOptionsForRetry(),
46+
);
47+
}
48+
49+
_getPublishOptionsForRetry() {
50+
const { props, applicationLevelRetryLimit } = this._message;
51+
52+
// @todo decremnt expiration
53+
// @todo pass routing key
54+
const mapped: PublishOptions = {
55+
expiration: props.expiration,
56+
correlationId: props.correlationId,
57+
replyTo: props.replyTo,
58+
exchange: props.exchange,
59+
userId: props.userId,
60+
priority: props.priority,
61+
persistent: props.persistent,
62+
contentType: props.contentType,
63+
contentEncoding: props.contentEncoding,
64+
timestamp: props.timestamp,
65+
type: props.type,
66+
appId: props.appId,
67+
messageId: props.messageId,
4668
headers: {
47-
...this._message.props.headers,
48-
'X-Retry-Limit': retryLimit,
69+
...props.headers,
70+
'X-Retry-Limit': applicationLevelRetryLimit,
4971
},
50-
});
72+
};
73+
74+
return mapped;
5175
}
5276
}
5377

0 commit comments

Comments
 (0)