123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- import { Client } from '../client.js';
- import { HeartbeatInfo } from './heartbeat-info.js';
- /**
- * Available for backward compatibility, please shift to using {@link Client}.
- *
- * **Deprecated**
- *
- * Part of `@stomp/stompjs`.
- *
- * To upgrade, please follow the [Upgrade Guide](https://stomp-js.github.io/guide/stompjs/upgrading-stompjs.html)
- */
- export class CompatClient extends Client {
- /**
- * Available for backward compatibility, please shift to using {@link Client}
- * and [Client#webSocketFactory]{@link Client#webSocketFactory}.
- *
- * **Deprecated**
- *
- * @internal
- */
- constructor(webSocketFactory) {
- super();
- /**
- * It is no op now. No longer needed. Large packets work out of the box.
- */
- this.maxWebSocketFrameSize = 16 * 1024;
- this._heartbeatInfo = new HeartbeatInfo(this);
- this.reconnect_delay = 0;
- this.webSocketFactory = webSocketFactory;
- // Default from previous version
- this.debug = (...message) => {
- console.log(...message);
- };
- }
- _parseConnect(...args) {
- let closeEventCallback;
- let connectCallback;
- let errorCallback;
- let headers = {};
- if (args.length < 2) {
- throw new Error('Connect requires at least 2 arguments');
- }
- if (typeof args[1] === 'function') {
- [headers, connectCallback, errorCallback, closeEventCallback] = args;
- }
- else {
- switch (args.length) {
- case 6:
- [
- headers.login,
- headers.passcode,
- connectCallback,
- errorCallback,
- closeEventCallback,
- headers.host,
- ] = args;
- break;
- default:
- [
- headers.login,
- headers.passcode,
- connectCallback,
- errorCallback,
- closeEventCallback,
- ] = args;
- }
- }
- return [headers, connectCallback, errorCallback, closeEventCallback];
- }
- /**
- * Available for backward compatibility, please shift to using [Client#activate]{@link Client#activate}.
- *
- * **Deprecated**
- *
- * The `connect` method accepts different number of arguments and types. See the Overloads list. Use the
- * version with headers to pass your broker specific options.
- *
- * overloads:
- * - connect(headers, connectCallback)
- * - connect(headers, connectCallback, errorCallback)
- * - connect(login, passcode, connectCallback)
- * - connect(login, passcode, connectCallback, errorCallback)
- * - connect(login, passcode, connectCallback, errorCallback, closeEventCallback)
- * - connect(login, passcode, connectCallback, errorCallback, closeEventCallback, host)
- *
- * params:
- * - headers, see [Client#connectHeaders]{@link Client#connectHeaders}
- * - connectCallback, see [Client#onConnect]{@link Client#onConnect}
- * - errorCallback, see [Client#onStompError]{@link Client#onStompError}
- * - closeEventCallback, see [Client#onWebSocketClose]{@link Client#onWebSocketClose}
- * - login [String], see [Client#connectHeaders](../classes/Client.html#connectHeaders)
- * - passcode [String], [Client#connectHeaders](../classes/Client.html#connectHeaders)
- * - host [String], see [Client#connectHeaders](../classes/Client.html#connectHeaders)
- *
- * To upgrade, please follow the [Upgrade Guide](../additional-documentation/upgrading.html)
- */
- connect(...args) {
- const out = this._parseConnect(...args);
- if (out[0]) {
- this.connectHeaders = out[0];
- }
- if (out[1]) {
- this.onConnect = out[1];
- }
- if (out[2]) {
- this.onStompError = out[2];
- }
- if (out[3]) {
- this.onWebSocketClose = out[3];
- }
- super.activate();
- }
- /**
- * Available for backward compatibility, please shift to using [Client#deactivate]{@link Client#deactivate}.
- *
- * **Deprecated**
- *
- * See:
- * [Client#onDisconnect]{@link Client#onDisconnect}, and
- * [Client#disconnectHeaders]{@link Client#disconnectHeaders}
- *
- * To upgrade, please follow the [Upgrade Guide](../additional-documentation/upgrading.html)
- */
- disconnect(disconnectCallback, headers = {}) {
- if (disconnectCallback) {
- this.onDisconnect = disconnectCallback;
- }
- this.disconnectHeaders = headers;
- super.deactivate();
- }
- /**
- * Available for backward compatibility, use [Client#publish]{@link Client#publish}.
- *
- * Send a message to a named destination. Refer to your STOMP broker documentation for types
- * and naming of destinations. The headers will, typically, be available to the subscriber.
- * However, there may be special purpose headers corresponding to your STOMP broker.
- *
- * **Deprecated**, use [Client#publish]{@link Client#publish}
- *
- * Note: Body must be String. You will need to covert the payload to string in case it is not string (e.g. JSON)
- *
- * ```javascript
- * client.send("/queue/test", {priority: 9}, "Hello, STOMP");
- *
- * // If you want to send a message with a body, you must also pass the headers argument.
- * client.send("/queue/test", {}, "Hello, STOMP");
- * ```
- *
- * To upgrade, please follow the [Upgrade Guide](../additional-documentation/upgrading.html)
- */
- send(destination, headers = {}, body = '') {
- headers = Object.assign({}, headers);
- const skipContentLengthHeader = headers['content-length'] === false;
- if (skipContentLengthHeader) {
- delete headers['content-length'];
- }
- this.publish({
- destination,
- headers: headers,
- body,
- skipContentLengthHeader,
- });
- }
- /**
- * Available for backward compatibility, renamed to [Client#reconnectDelay]{@link Client#reconnectDelay}.
- *
- * **Deprecated**
- */
- set reconnect_delay(value) {
- this.reconnectDelay = value;
- }
- /**
- * Available for backward compatibility, renamed to [Client#webSocket]{@link Client#webSocket}.
- *
- * **Deprecated**
- */
- get ws() {
- return this.webSocket;
- }
- /**
- * Available for backward compatibility, renamed to [Client#connectedVersion]{@link Client#connectedVersion}.
- *
- * **Deprecated**
- */
- get version() {
- return this.connectedVersion;
- }
- /**
- * Available for backward compatibility, renamed to [Client#onUnhandledMessage]{@link Client#onUnhandledMessage}.
- *
- * **Deprecated**
- */
- get onreceive() {
- return this.onUnhandledMessage;
- }
- /**
- * Available for backward compatibility, renamed to [Client#onUnhandledMessage]{@link Client#onUnhandledMessage}.
- *
- * **Deprecated**
- */
- set onreceive(value) {
- this.onUnhandledMessage = value;
- }
- /**
- * Available for backward compatibility, renamed to [Client#onUnhandledReceipt]{@link Client#onUnhandledReceipt}.
- * Prefer using [Client#watchForReceipt]{@link Client#watchForReceipt}.
- *
- * **Deprecated**
- */
- get onreceipt() {
- return this.onUnhandledReceipt;
- }
- /**
- * Available for backward compatibility, renamed to [Client#onUnhandledReceipt]{@link Client#onUnhandledReceipt}.
- *
- * **Deprecated**
- */
- set onreceipt(value) {
- this.onUnhandledReceipt = value;
- }
- /**
- * Available for backward compatibility, renamed to [Client#heartbeatIncoming]{@link Client#heartbeatIncoming}
- * [Client#heartbeatOutgoing]{@link Client#heartbeatOutgoing}.
- *
- * **Deprecated**
- */
- get heartbeat() {
- return this._heartbeatInfo;
- }
- /**
- * Available for backward compatibility, renamed to [Client#heartbeatIncoming]{@link Client#heartbeatIncoming}
- * [Client#heartbeatOutgoing]{@link Client#heartbeatOutgoing}.
- *
- * **Deprecated**
- */
- set heartbeat(value) {
- this.heartbeatIncoming = value.incoming;
- this.heartbeatOutgoing = value.outgoing;
- }
- }
- //# sourceMappingURL=compat-client.js.map
|