Skip to content

Commit c94040d

Browse files
docs(microservices): add docs about record builders
1 parent 46f2d1e commit c94040d

File tree

3 files changed

+50
-0
lines changed

3 files changed

+50
-0
lines changed

content/microservices/mqtt.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,15 @@ getTemperature(context) {
115115
console.log(`Topic: ${context.getTopic()}`);
116116
}
117117
```
118+
119+
#### Record builders
120+
121+
To configure message options, you can use the `MqttRecordBuilder` class. For example, to set `QoS` to `2` use the `setQoS` method, as follows:
122+
123+
```typescript
124+
const message = { event: 'USER_CREATED' };
125+
const record = new MqttRecordBuilder(message).setQoS(2).build();
126+
this.client.send('notifications', record).subscribe(...);
127+
```
128+
129+
> info **Hint** `MqttRecordBuilder` class is exported from the `@nestjs/microservices` package.

content/microservices/nats.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,21 @@ getDate(data, context) {
125125
return new Date().toLocaleTimeString(...);
126126
}
127127
```
128+
129+
#### Record builders
130+
131+
To configure message options, you can use the `NatsRecordBuilder` class. For example, to add `x-version` header, use the `setHeaders` method, as follows:
132+
133+
```typescript
134+
import * as nats from 'nats';
135+
136+
// somewhere in your code
137+
const headers = nats.headers();
138+
headers.set('x-version', '1.0.0');
139+
140+
const message = { event: 'USER_CREATED' };
141+
const record = new NatsRecordBuilder(message).setHeaders(headers).build();
142+
this.client.send('notifications', record).subscribe(...);
143+
```
144+
145+
> info **Hint** `NatsRecordBuilder` class is exported from the `@nestjs/microservices` package.

content/microservices/rabbitmq.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,3 +195,23 @@ getNotifications(data, context) {
195195
channel.ack(originalMsg);
196196
}
197197
```
198+
199+
#### Record builders
200+
201+
To configure message options, you can use the `RmqRecordBuilder` class. For example, to set `headers` and `priority` properties, use the `setOptions` method, as follows:
202+
203+
```typescript
204+
const message = { event: 'USER_CREATED' };
205+
const record = new RmqRecordBuilder(message)
206+
.setOptions({
207+
headers: {
208+
['x-version']: '1.0.0',
209+
},
210+
priority: 3,
211+
})
212+
.build();
213+
214+
this.client.send('notifications', record).subscribe(...);
215+
```
216+
217+
> info **Hint** `RmqRecordBuilder` class is exported from the `@nestjs/microservices` package.

0 commit comments

Comments
 (0)