123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import { Versions } from '../versions.js';
- import { CompatClient } from './compat-client.js';
- /**
- * STOMP Class, acts like a factory to create {@link Client}.
- *
- * Part of `@stomp/stompjs`.
- *
- * **Deprecated**
- *
- * It will be removed in next major version. Please switch to {@link Client}.
- */
- export class Stomp {
- /**
- * This method creates a WebSocket client that is connected to
- * the STOMP server located at the url.
- *
- * ```javascript
- * var url = "ws://localhost:61614/stomp";
- * var client = Stomp.client(url);
- * ```
- *
- * **Deprecated**
- *
- * It will be removed in next major version. Please switch to {@link Client}
- * using [Client#brokerURL]{@link Client#brokerURL}.
- */
- static client(url, protocols) {
- // This is a hack to allow another implementation than the standard
- // HTML5 WebSocket class.
- //
- // It is possible to use another class by calling
- //
- // Stomp.WebSocketClass = MozWebSocket
- //
- // *prior* to call `Stomp.client()`.
- //
- // This hack is deprecated and `Stomp.over()` method should be used
- // instead.
- // See remarks on the function Stomp.over
- if (protocols == null) {
- protocols = Versions.default.protocolVersions();
- }
- const wsFn = () => {
- const klass = Stomp.WebSocketClass || WebSocket;
- return new klass(url, protocols);
- };
- return new CompatClient(wsFn);
- }
- /**
- * This method is an alternative to [Stomp#client]{@link Stomp#client} to let the user
- * specify the WebSocket to use (either a standard HTML5 WebSocket or
- * a similar object).
- *
- * In order to support reconnection, the function Client._connect should be callable more than once.
- * While reconnecting
- * a new instance of underlying transport (TCP Socket, WebSocket or SockJS) will be needed. So, this function
- * alternatively allows passing a function that should return a new instance of the underlying socket.
- *
- * ```javascript
- * var client = Stomp.over(function(){
- * return new WebSocket('ws://localhost:15674/ws')
- * });
- * ```
- *
- * **Deprecated**
- *
- * It will be removed in next major version. Please switch to {@link Client}
- * using [Client#webSocketFactory]{@link Client#webSocketFactory}.
- */
- static over(ws) {
- let wsFn;
- if (typeof ws === 'function') {
- wsFn = ws;
- }
- else {
- console.warn('Stomp.over did not receive a factory, auto reconnect will not work. ' +
- 'Please see https://stomp-js.github.io/api-docs/latest/classes/Stomp.html#over');
- wsFn = () => ws;
- }
- return new CompatClient(wsFn);
- }
- }
- /**
- * In case you need to use a non standard class for WebSocket.
- *
- * For example when using within NodeJS environment:
- *
- * ```javascript
- * StompJs = require('../../esm5/');
- * Stomp = StompJs.Stomp;
- * Stomp.WebSocketClass = require('websocket').w3cwebsocket;
- * ```
- *
- * **Deprecated**
- *
- *
- * It will be removed in next major version. Please switch to {@link Client}
- * using [Client#webSocketFactory]{@link Client#webSocketFactory}.
- */
- // tslint:disable-next-line:variable-name
- Stomp.WebSocketClass = null;
- //# sourceMappingURL=stomp.js.map
|