@spinajs/queue-stomp-transport 2.0.180 → 2.0.182

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/lib/mjs/index.js CHANGED
@@ -1,167 +1,167 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { UnexpectedServerError, InvalidArgument } from '@spinajs/exceptions';
11
- import { QueueClient } from '@spinajs/queue';
12
- import Stomp from '@stomp/stompjs';
13
- import _ from 'lodash';
14
- import { Injectable, PerInstanceCheck } from '@spinajs/di';
15
- import websocket from 'websocket';
16
- Object.assign(global, { WebSocket: websocket.w3cwebsocket });
17
- let StompQueueClient = class StompQueueClient extends QueueClient {
18
- constructor(options) {
19
- super(options);
20
- this.Subscriptions = new Map();
21
- }
22
- async resolve() {
23
- this.Client = new Stomp.Client({
24
- brokerURL: this.Options.host,
25
- connectHeaders: {
26
- login: this.Options.login,
27
- passcode: this.Options.password,
28
- 'client-id': this.Options.name,
29
- },
30
- reconnectDelay: 5000,
31
- heartbeatIncoming: 4000,
32
- heartbeatOutgoing: 4000,
33
- // additional options
34
- ...this.Options.options,
35
- });
36
- if (this.Options.debug) {
37
- this.Client.debug = (str) => {
38
- this.Log.trace(str);
39
- };
40
- }
41
- return new Promise((resolve, reject) => {
42
- this.Client.onStompError = (frame) => {
43
- reject(new UnexpectedServerError(`Cannot connect to queue server at ${this.Options.host}`, frame));
44
- };
45
- this.Client.onConnect = () => {
46
- this.Log.success('Connected to STOMP client');
47
- resolve();
48
- // when connected override callbacks for loggin
49
- this.Client.onStompError = (frame) => {
50
- // Will be invoked in case of error encountered at Broker
51
- // Bad login/passcode typically will cause an error
52
- // Complaint brokers will set `message` header with a brief message. Body may contain details.
53
- // Compliant brokers will terminate the connection after any error
54
- this.Log.error('Broker reported error: ' + frame.headers['message']);
55
- this.Log.error('Additional details: ' + frame.body);
56
- };
57
- this.Client.onConnect = () => {
58
- this.Log.success('Connected to STOMP client');
59
- };
60
- this.Client.onDisconnect = () => {
61
- this.Log.warn('Disconnected to STOMP client');
62
- };
63
- this.Client.onWebSocketError = (err) => {
64
- this.Log.warn(err);
65
- };
66
- };
67
- this.Client.onWebSocketError = (err) => {
68
- reject(new UnexpectedServerError(`Cannot connect to queue server at ${this.Options.host}, websocket error`, err));
69
- };
70
- this.Client.activate();
71
- });
72
- }
73
- async dispose() {
74
- this.Log.info(`Disposing queue connection ${this.Options.name} ...`);
75
- return new Promise((resolve) => {
76
- // if we dont have onDisconnect callback after 5sek, assume we have disconnected
77
- const t = setTimeout(() => {
78
- this.Log.warn('STOMP client deactivated, but was not connected before');
79
- resolve();
80
- }, 5000);
81
- this.Client.onDisconnect = () => {
82
- clearTimeout(t);
83
- resolve();
84
- this.Log.success('STOMP client deactivated');
85
- };
86
- this.Client.deactivate();
87
- });
88
- }
89
- async emit(message) {
90
- const channels = this.getChannelForMessage(message);
91
- const headers = {};
92
- if (message.Persistent) {
93
- headers['persistent'] = "true";
94
- }
95
- if (message.Priority) {
96
- headers.priority = `${message.Priority}`;
97
- }
98
- if (message.ScheduleCron) {
99
- headers['AMQ_SCHEDULED_CRON'] = message.ScheduleCron;
100
- }
101
- if (message.ScheduleDelay) {
102
- headers['AMQ_SCHEDULED_DELAY'] = message.ScheduleDelay.toString();
103
- }
104
- if (message.SchedulePeriod) {
105
- headers['AMQ_SCHEDULED_PERIOD'] = message.SchedulePeriod.toString();
106
- }
107
- if (message.ScheduleRepeat) {
108
- headers['AMQ_SCHEDULED_REPEAT'] = message.ScheduleRepeat.toString();
109
- }
110
- channels.forEach((c) => {
111
- this.Client.publish({
112
- destination: c,
113
- body: JSON.stringify(message),
114
- headers,
115
- });
116
- this.Log.trace(`Published ${message.Type} Name: ${message.Name}} to channel ${c} ( ${this.Options.name} )`);
117
- });
118
- }
119
- unsubscribe(channelOrMessage) {
120
- const channels = _.isString(channelOrMessage) ? [channelOrMessage] : this.getChannelForMessage(channelOrMessage);
121
- channels.forEach((c) => {
122
- if (!this.Subscriptions.has(c)) {
123
- return;
124
- }
125
- this.Subscriptions.get(c).unsubscribe();
126
- this.Subscriptions.delete(c);
127
- });
128
- }
129
- async subscribe(channelOrMessage, callback, subscriptionId, durable) {
130
- const channels = _.isString(channelOrMessage) ? [channelOrMessage] : this.getChannelForMessage(channelOrMessage);
131
- channels.forEach((c) => {
132
- if (this.Subscriptions.has(c)) {
133
- this.Log.warn(`Channel ${c} already subscribed !`);
134
- return;
135
- }
136
- const headers = { ack: 'client' };
137
- if (subscriptionId) {
138
- headers.id = subscriptionId;
139
- }
140
- if (durable) {
141
- if (!subscriptionId) {
142
- throw new InvalidArgument(`subscriptionId cannot be empty if using durable subscriptions`);
143
- }
144
- headers['activemq.subscriptionName'] = subscriptionId;
145
- }
146
- const subscription = this.Client.subscribe(c, (message) => {
147
- const qMessage = JSON.parse(message.body);
148
- callback(qMessage)
149
- .then(() => {
150
- message.ack();
151
- })
152
- .catch(() => {
153
- message.nack();
154
- });
155
- }, headers);
156
- this.Subscriptions.set(c, subscription);
157
- this.Log.success(`Channel ${c}, durable: ${durable ? 'true' : 'false'} subscribed and ready to receive messages !`);
158
- });
159
- }
160
- };
161
- StompQueueClient = __decorate([
162
- PerInstanceCheck(),
163
- Injectable(QueueClient),
164
- __metadata("design:paramtypes", [Object])
165
- ], StompQueueClient);
166
- export { StompQueueClient };
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { UnexpectedServerError, InvalidArgument } from '@spinajs/exceptions';
11
+ import { QueueClient } from '@spinajs/queue';
12
+ import Stomp from '@stomp/stompjs';
13
+ import _ from 'lodash';
14
+ import { Injectable, PerInstanceCheck } from '@spinajs/di';
15
+ import websocket from 'websocket';
16
+ Object.assign(global, { WebSocket: websocket.w3cwebsocket });
17
+ let StompQueueClient = class StompQueueClient extends QueueClient {
18
+ constructor(options) {
19
+ super(options);
20
+ this.Subscriptions = new Map();
21
+ }
22
+ async resolve() {
23
+ this.Client = new Stomp.Client({
24
+ brokerURL: this.Options.host,
25
+ connectHeaders: {
26
+ login: this.Options.login,
27
+ passcode: this.Options.password,
28
+ 'client-id': this.Options.name,
29
+ },
30
+ reconnectDelay: 5000,
31
+ heartbeatIncoming: 4000,
32
+ heartbeatOutgoing: 4000,
33
+ // additional options
34
+ ...this.Options.options,
35
+ });
36
+ if (this.Options.debug) {
37
+ this.Client.debug = (str) => {
38
+ this.Log.trace(str);
39
+ };
40
+ }
41
+ return new Promise((resolve, reject) => {
42
+ this.Client.onStompError = (frame) => {
43
+ reject(new UnexpectedServerError(`Cannot connect to queue server at ${this.Options.host}`, frame));
44
+ };
45
+ this.Client.onConnect = () => {
46
+ this.Log.success('Connected to STOMP client');
47
+ resolve();
48
+ // when connected override callbacks for loggin
49
+ this.Client.onStompError = (frame) => {
50
+ // Will be invoked in case of error encountered at Broker
51
+ // Bad login/passcode typically will cause an error
52
+ // Complaint brokers will set `message` header with a brief message. Body may contain details.
53
+ // Compliant brokers will terminate the connection after any error
54
+ this.Log.error('Broker reported error: ' + frame.headers['message']);
55
+ this.Log.error('Additional details: ' + frame.body);
56
+ };
57
+ this.Client.onConnect = () => {
58
+ this.Log.success('Connected to STOMP client');
59
+ };
60
+ this.Client.onDisconnect = () => {
61
+ this.Log.warn('Disconnected to STOMP client');
62
+ };
63
+ this.Client.onWebSocketError = (err) => {
64
+ this.Log.warn(err);
65
+ };
66
+ };
67
+ this.Client.onWebSocketError = (err) => {
68
+ reject(new UnexpectedServerError(`Cannot connect to queue server at ${this.Options.host}, websocket error`, err));
69
+ };
70
+ this.Client.activate();
71
+ });
72
+ }
73
+ async dispose() {
74
+ this.Log.info(`Disposing queue connection ${this.Options.name} ...`);
75
+ return new Promise((resolve) => {
76
+ // if we dont have onDisconnect callback after 5sek, assume we have disconnected
77
+ const t = setTimeout(() => {
78
+ this.Log.warn('STOMP client deactivated, but was not connected before');
79
+ resolve();
80
+ }, 5000);
81
+ this.Client.onDisconnect = () => {
82
+ clearTimeout(t);
83
+ resolve();
84
+ this.Log.success('STOMP client deactivated');
85
+ };
86
+ this.Client.deactivate();
87
+ });
88
+ }
89
+ async emit(message) {
90
+ const channels = this.getChannelForMessage(message);
91
+ const headers = {};
92
+ if (message.Persistent) {
93
+ headers['persistent'] = "true";
94
+ }
95
+ if (message.Priority) {
96
+ headers.priority = `${message.Priority}`;
97
+ }
98
+ if (message.ScheduleCron) {
99
+ headers['AMQ_SCHEDULED_CRON'] = message.ScheduleCron;
100
+ }
101
+ if (message.ScheduleDelay) {
102
+ headers['AMQ_SCHEDULED_DELAY'] = message.ScheduleDelay.toString();
103
+ }
104
+ if (message.SchedulePeriod) {
105
+ headers['AMQ_SCHEDULED_PERIOD'] = message.SchedulePeriod.toString();
106
+ }
107
+ if (message.ScheduleRepeat) {
108
+ headers['AMQ_SCHEDULED_REPEAT'] = message.ScheduleRepeat.toString();
109
+ }
110
+ channels.forEach((c) => {
111
+ this.Client.publish({
112
+ destination: c,
113
+ body: JSON.stringify(message),
114
+ headers,
115
+ });
116
+ this.Log.trace(`Published ${message.Type} Name: ${message.Name}} to channel ${c} ( ${this.Options.name} )`);
117
+ });
118
+ }
119
+ unsubscribe(channelOrMessage) {
120
+ const channels = _.isString(channelOrMessage) ? [channelOrMessage] : this.getChannelForMessage(channelOrMessage);
121
+ channels.forEach((c) => {
122
+ if (!this.Subscriptions.has(c)) {
123
+ return;
124
+ }
125
+ this.Subscriptions.get(c).unsubscribe();
126
+ this.Subscriptions.delete(c);
127
+ });
128
+ }
129
+ async subscribe(channelOrMessage, callback, subscriptionId, durable) {
130
+ const channels = _.isString(channelOrMessage) ? [channelOrMessage] : this.getChannelForMessage(channelOrMessage);
131
+ channels.forEach((c) => {
132
+ if (this.Subscriptions.has(c)) {
133
+ this.Log.warn(`Channel ${c} already subscribed !`);
134
+ return;
135
+ }
136
+ const headers = { ack: 'client' };
137
+ if (subscriptionId) {
138
+ headers.id = subscriptionId;
139
+ }
140
+ if (durable) {
141
+ if (!subscriptionId) {
142
+ throw new InvalidArgument(`subscriptionId cannot be empty if using durable subscriptions`);
143
+ }
144
+ headers['activemq.subscriptionName'] = subscriptionId;
145
+ }
146
+ const subscription = this.Client.subscribe(c, (message) => {
147
+ const qMessage = JSON.parse(message.body);
148
+ callback(qMessage)
149
+ .then(() => {
150
+ message.ack();
151
+ })
152
+ .catch(() => {
153
+ message.nack();
154
+ });
155
+ }, headers);
156
+ this.Subscriptions.set(c, subscription);
157
+ this.Log.success(`Channel ${c}, durable: ${durable ? 'true' : 'false'} subscribed and ready to receive messages !`);
158
+ });
159
+ }
160
+ };
161
+ StompQueueClient = __decorate([
162
+ PerInstanceCheck(),
163
+ Injectable(QueueClient),
164
+ __metadata("design:paramtypes", [Object])
165
+ ], StompQueueClient);
166
+ export { StompQueueClient };
167
167
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}