@zdavison/matador 2.0.2 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/matador.d.ts.map +1 -1
- package/dist/core/matador.js +5 -0
- package/dist/index.cjs +36 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/topology/builder.d.ts +14 -0
- package/dist/topology/builder.d.ts.map +1 -1
- package/dist/topology/builder.js +18 -10
- package/dist/topology/builder.test.js +70 -0
- package/dist/transport/local/local-transport.d.ts.map +1 -1
- package/dist/transport/rabbitmq/rabbitmq-transport.d.ts +8 -0
- package/dist/transport/rabbitmq/rabbitmq-transport.d.ts.map +1 -1
- package/dist/transport/rabbitmq/rabbitmq-transport.js +12 -0
- package/dist/transport/rabbitmq/rabbitmq-transport.test.d.ts +2 -0
- package/dist/transport/rabbitmq/rabbitmq-transport.test.d.ts.map +1 -0
- package/dist/transport/rabbitmq/rabbitmq-transport.test.js +98 -0
- package/package.json +1 -1
- package/src/core/matador.ts +11 -0
- package/src/topology/builder.test.ts +86 -0
- package/src/topology/builder.ts +42 -4
- package/src/transport/local/local-transport.ts +4 -1
- package/src/transport/rabbitmq/rabbitmq-transport.test.ts +118 -0
- package/src/transport/rabbitmq/rabbitmq-transport.ts +15 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -62,6 +62,18 @@ interface ActiveConsumer {
|
|
|
62
62
|
active: boolean;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
/**
|
|
66
|
+
* Redacts credentials from an AMQP URL.
|
|
67
|
+
* Replaces username and password with '****' regardless of their length.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* redactAmqpUrl('amqp://user:pass@host:5672') // 'amqp://****:****@host:5672'
|
|
71
|
+
*/
|
|
72
|
+
export function redactAmqpUrl(url: string): string {
|
|
73
|
+
const regex = /^(amqps?:\/\/)[^:]+:[^@]+@/;
|
|
74
|
+
return url.replace(regex, '$1****:****@');
|
|
75
|
+
}
|
|
76
|
+
|
|
65
77
|
/**
|
|
66
78
|
* RabbitMQ transport implementation using amqplib.
|
|
67
79
|
*/
|
|
@@ -430,6 +442,9 @@ export class RabbitMQTransport implements Transport {
|
|
|
430
442
|
}
|
|
431
443
|
|
|
432
444
|
private async doConnect(): Promise<void> {
|
|
445
|
+
this.logger.info(
|
|
446
|
+
`[Matador] ⏳ Connecting to RabbitMQ at '${redactAmqpUrl(this.config.url)}'.`,
|
|
447
|
+
);
|
|
433
448
|
const connection = await amqplib.connect(this.config.url);
|
|
434
449
|
this.connection = connection;
|
|
435
450
|
|