@stomp/stompjs 7.0.0-beta1 → 7.0.0-beta3
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/README.md +11 -18
- package/bundles/package.json +6 -0
- package/bundles/stomp.umd.js +1728 -2044
- package/bundles/stomp.umd.js.map +1 -0
- package/bundles/stomp.umd.min.js +1 -1
- package/bundles/tcp-wrapper.cjs +84 -0
- package/bundles/tcp-wrapper.cjs.map +1 -0
- package/esm6/augment-websocket.d.ts +1 -1
- package/esm6/augment-websocket.js +1 -1
- package/esm6/augment-websocket.js.map +1 -1
- package/esm6/client.d.ts +51 -47
- package/esm6/client.js +160 -172
- package/esm6/client.js.map +1 -1
- package/esm6/compatibility/compat-client.d.ts +4 -4
- package/esm6/compatibility/compat-client.js +3 -3
- package/esm6/compatibility/compat-client.js.map +1 -1
- package/esm6/compatibility/heartbeat-info.d.ts +1 -1
- package/esm6/compatibility/stomp.d.ts +1 -1
- package/esm6/compatibility/stomp.js +2 -2
- package/esm6/compatibility/stomp.js.map +1 -1
- package/esm6/frame-impl.d.ts +3 -3
- package/esm6/frame-impl.js +1 -1
- package/esm6/frame-impl.js.map +1 -1
- package/esm6/i-frame.d.ts +1 -1
- package/esm6/i-message.d.ts +4 -4
- package/esm6/index-web.d.ts +13 -0
- package/esm6/index-web.js +15 -0
- package/esm6/index-web.js.map +1 -0
- package/esm6/index.d.ts +2 -13
- package/esm6/index.js +2 -14
- package/esm6/index.js.map +1 -1
- package/esm6/parser.d.ts +1 -1
- package/esm6/parser.js +3 -3
- package/esm6/parser.js.map +1 -1
- package/esm6/stomp-config.d.ts +4 -7
- package/esm6/stomp-config.js +0 -3
- package/esm6/stomp-config.js.map +1 -1
- package/esm6/stomp-handler.d.ts +6 -6
- package/esm6/stomp-handler.js +12 -12
- package/esm6/stomp-handler.js.map +1 -1
- package/esm6/stomp-subscription.d.ts +1 -1
- package/esm6/tcp-wrapper.d.ts +18 -0
- package/esm6/tcp-wrapper.js +61 -0
- package/esm6/tcp-wrapper.js.map +1 -0
- package/esm6/types.d.ts +14 -13
- package/esm6/types.js +2 -2
- package/esm6/types.js.map +1 -1
- package/esm6/versions.d.ts +3 -3
- package/esm6/versions.js +3 -3
- package/index.d.ts +1 -1
- package/package.json +11 -7
- package/src/augment-websocket.ts +1 -1
- package/src/client.ts +53 -49
- package/src/compatibility/compat-client.ts +5 -5
- package/src/compatibility/heartbeat-info.ts +1 -1
- package/src/compatibility/stomp.ts +3 -3
- package/src/frame-impl.ts +4 -4
- package/src/i-frame.ts +1 -1
- package/src/i-message.ts +4 -4
- package/src/index-web.ts +15 -0
- package/src/index.ts +2 -15
- package/src/parser.ts +4 -4
- package/src/stomp-config.ts +4 -7
- package/src/stomp-handler.ts +17 -17
- package/src/stomp-subscription.ts +1 -1
- package/src/tcp-wrapper.ts +83 -0
- package/src/types.ts +14 -13
- package/src/versions.ts +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stomp.umd.js","sources":["../src/byte.ts","../src/frame-impl.ts","../src/parser.ts","../src/types.ts","../src/versions.ts","../src/augment-websocket.ts","../src/stomp-handler.ts","../src/client.ts","../src/stomp-config.ts","../src/stomp-headers.ts","../src/compatibility/heartbeat-info.ts","../src/compatibility/compat-client.ts","../src/compatibility/stomp.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StompSocketState","ActivationState"],"mappings":"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"}
|
package/bundles/stomp.umd.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("StompJs",[],t):"object"==typeof exports?exports.StompJs=t():e.StompJs=t()}("undefined"!=typeof self?self:this,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var s in n)e.o(n,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:n[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{ActivationState:()=>r,Client:()=>d,CompatClient:()=>_,FrameImpl:()=>s,Parser:()=>i,Stomp:()=>g,StompConfig:()=>l,StompHeaders:()=>m,StompSocketState:()=>o,Versions:()=>c});const n="\n";class s{constructor(e){const{command:t,headers:n,body:s,binaryBody:i,escapeHeaderValues:o,skipContentLengthHeader:r}=e;this.command=t,this.headers=Object.assign({},n||{}),i?(this._binaryBody=i,this.isBinaryBody=!0):(this._body=s||"",this.isBinaryBody=!1),this.escapeHeaderValues=o||!1,this.skipContentLengthHeader=r||!1}get body(){return!this._body&&this.isBinaryBody&&(this._body=(new TextDecoder).decode(this._binaryBody)),this._body||""}get binaryBody(){return this._binaryBody||this.isBinaryBody||(this._binaryBody=(new TextEncoder).encode(this._body)),this._binaryBody}static fromRawFrame(e,t){const n={},i=e=>e.replace(/^\s+|\s+$/g,"");for(const o of e.headers.reverse()){o.indexOf(":");const r=i(o[0]);let c=i(o[1]);t&&"CONNECT"!==e.command&&"CONNECTED"!==e.command&&(c=s.hdrValueUnEscape(c)),n[r]=c}return new s({command:e.command,headers:n,binaryBody:e.binaryBody,escapeHeaderValues:t})}toString(){return this.serializeCmdAndHeaders()}serialize(){const e=this.serializeCmdAndHeaders();return this.isBinaryBody?s.toUnit8Array(e,this._binaryBody).buffer:e+this._body+"\0"}serializeCmdAndHeaders(){const e=[this.command];this.skipContentLengthHeader&&delete this.headers["content-length"];for(const t of Object.keys(this.headers||{})){const n=this.headers[t];this.escapeHeaderValues&&"CONNECT"!==this.command&&"CONNECTED"!==this.command?e.push(`${t}:${s.hdrValueEscape(`${n}`)}`):e.push(`${t}:${n}`)}return(this.isBinaryBody||!this.isBodyEmpty()&&!this.skipContentLengthHeader)&&e.push(`content-length:${this.bodyLength()}`),e.join(n)+n+n}isBodyEmpty(){return 0===this.bodyLength()}bodyLength(){const e=this.binaryBody;return e?e.length:0}static sizeOfUTF8(e){return e?(new TextEncoder).encode(e).length:0}static toUnit8Array(e,t){const n=(new TextEncoder).encode(e),s=new Uint8Array([0]),i=new Uint8Array(n.length+t.length+s.length);return i.set(n),i.set(t,n.length),i.set(s,n.length+t.length),i}static marshall(e){return new s(e).serialize()}static hdrValueEscape(e){return e.replace(/\\/g,"\\\\").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/:/g,"\\c")}static hdrValueUnEscape(e){return e.replace(/\\r/g,"\r").replace(/\\n/g,"\n").replace(/\\c/g,":").replace(/\\\\/g,"\\")}}class i{constructor(e,t){this.onFrame=e,this.onIncomingPing=t,this._encoder=new TextEncoder,this._decoder=new TextDecoder,this._token=[],this._initState()}parseChunk(e,t=!1){let n;if(n=e instanceof ArrayBuffer?new Uint8Array(e):this._encoder.encode(e),t&&0!==n[n.length-1]){const e=new Uint8Array(n.length+1);e.set(n,0),e[n.length]=0,n=e}for(let e=0;e<n.length;e++){const t=n[e];this._onByte(t)}}_collectFrame(e){0!==e&&13!==e&&(10!==e?(this._onByte=this._collectCommand,this._reinjectByte(e)):this.onIncomingPing())}_collectCommand(e){if(13!==e)return 10===e?(this._results.command=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_collectHeaders(e){13!==e&&(10!==e?(this._onByte=this._collectHeaderKey,this._reinjectByte(e)):this._setupCollectBody())}_reinjectByte(e){this._onByte(e)}_collectHeaderKey(e){if(58===e)return this._headerKey=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaderValue);this._consumeByte(e)}_collectHeaderValue(e){if(13!==e)return 10===e?(this._results.headers.push([this._headerKey,this._consumeTokenAsUTF8()]),this._headerKey=void 0,void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_setupCollectBody(){const e=this._results.headers.filter((e=>"content-length"===e[0]))[0];e?(this._bodyBytesRemaining=parseInt(e[1],10),this._onByte=this._collectBodyFixedSize):this._onByte=this._collectBodyNullTerminated}_collectBodyNullTerminated(e){0!==e?this._consumeByte(e):this._retrievedBody()}_collectBodyFixedSize(e){0!=this._bodyBytesRemaining--?this._consumeByte(e):this._retrievedBody()}_retrievedBody(){this._results.binaryBody=this._consumeTokenAsRaw();try{this.onFrame(this._results)}catch(e){console.log("Ignoring an exception thrown by a frame handler. Original exception: ",e)}this._initState()}_consumeByte(e){this._token.push(e)}_consumeTokenAsUTF8(){return this._decoder.decode(this._consumeTokenAsRaw())}_consumeTokenAsRaw(){const e=new Uint8Array(this._token);return this._token=[],e}_initState(){this._results={command:void 0,headers:[],binaryBody:void 0},this._token=[],this._headerKey=void 0,this._onByte=this._collectFrame}}var o,r;!function(e){e[e.CONNECTING=0]="CONNECTING",e[e.OPEN=1]="OPEN",e[e.CLOSING=2]="CLOSING",e[e.CLOSED=3]="CLOSED"}(o||(o={})),function(e){e[e.ACTIVE=0]="ACTIVE",e[e.DEACTIVATING=1]="DEACTIVATING",e[e.INACTIVE=2]="INACTIVE"}(r||(r={}));class c{constructor(e){this.versions=e}supportedVersions(){return this.versions.join(",")}protocolVersions(){return this.versions.map((e=>`v${e.replace(".","")}.stomp`))}}c.V1_0="1.0",c.V1_1="1.1",c.V1_2="1.2",c.default=new c([c.V1_2,c.V1_1,c.V1_0]);class a{constructor(e,t,n){this._client=e,this._webSocket=t,this._connected=!1,this._serverFrameHandlers={CONNECTED:e=>{this.debug(`connected to server ${e.headers.server}`),this._connected=!0,this._connectedVersion=e.headers.version,this._connectedVersion===c.V1_2&&(this._escapeHeaderValues=!0),this._setupHeartbeat(e.headers),this.onConnect(e)},MESSAGE:e=>{const t=e.headers.subscription,n=this._subscriptions[t]||this.onUnhandledMessage,s=e,i=this,o=this._connectedVersion===c.V1_2?s.headers.ack:s.headers["message-id"];s.ack=(e={})=>i.ack(o,t,e),s.nack=(e={})=>i.nack(o,t,e),n(s)},RECEIPT:e=>{const t=this._receiptWatchers[e.headers["receipt-id"]];t?(t(e),delete this._receiptWatchers[e.headers["receipt-id"]]):this.onUnhandledReceipt(e)},ERROR:e=>{this.onStompError(e)}},this._counter=0,this._subscriptions={},this._receiptWatchers={},this._partialData="",this._escapeHeaderValues=!1,this._lastServerActivityTS=Date.now(),this.debug=n.debug,this.stompVersions=n.stompVersions,this.connectHeaders=n.connectHeaders,this.disconnectHeaders=n.disconnectHeaders,this.heartbeatIncoming=n.heartbeatIncoming,this.heartbeatOutgoing=n.heartbeatOutgoing,this.splitLargeFrames=n.splitLargeFrames,this.maxWebSocketChunkSize=n.maxWebSocketChunkSize,this.forceBinaryWSFrames=n.forceBinaryWSFrames,this.logRawCommunication=n.logRawCommunication,this.appendMissingNULLonIncoming=n.appendMissingNULLonIncoming,this.discardWebsocketOnCommFailure=n.discardWebsocketOnCommFailure,this.onConnect=n.onConnect,this.onDisconnect=n.onDisconnect,this.onStompError=n.onStompError,this.onWebSocketClose=n.onWebSocketClose,this.onWebSocketError=n.onWebSocketError,this.onUnhandledMessage=n.onUnhandledMessage,this.onUnhandledReceipt=n.onUnhandledReceipt,this.onUnhandledFrame=n.onUnhandledFrame}get connectedVersion(){return this._connectedVersion}get connected(){return this._connected}start(){const e=new i((e=>{const t=s.fromRawFrame(e,this._escapeHeaderValues);this.logRawCommunication||this.debug(`<<< ${t}`),(this._serverFrameHandlers[t.command]||this.onUnhandledFrame)(t)}),(()=>{this.debug("<<< PONG")}));this._webSocket.onmessage=t=>{if(this.debug("Received data"),this._lastServerActivityTS=Date.now(),this.logRawCommunication){const e=t.data instanceof ArrayBuffer?(new TextDecoder).decode(t.data):t.data;this.debug(`<<< ${e}`)}e.parseChunk(t.data,this.appendMissingNULLonIncoming)},this._webSocket.onclose=e=>{this.debug(`Connection closed to ${this._client.brokerURL}`),this._cleanUp(),this.onWebSocketClose(e)},this._webSocket.onerror=e=>{this.onWebSocketError(e)},this._webSocket.onopen=()=>{const e=Object.assign({},this.connectHeaders);this.debug("Web Socket Opened..."),e["accept-version"]=this.stompVersions.supportedVersions(),e["heart-beat"]=[this.heartbeatOutgoing,this.heartbeatIncoming].join(","),this._transmit({command:"CONNECT",headers:e})}}_setupHeartbeat(e){if(e.version!==c.V1_1&&e.version!==c.V1_2)return;if(!e["heart-beat"])return;const[t,s]=e["heart-beat"].split(",").map((e=>parseInt(e,10)));if(0!==this.heartbeatOutgoing&&0!==s){const e=Math.max(this.heartbeatOutgoing,s);this.debug(`send PING every ${e}ms`),this._pinger=setInterval((()=>{this._webSocket.readyState===o.OPEN&&(this._webSocket.send(n),this.debug(">>> PING"))}),e)}if(0!==this.heartbeatIncoming&&0!==t){const e=Math.max(this.heartbeatIncoming,t);this.debug(`check PONG every ${e}ms`),this._ponger=setInterval((()=>{const t=Date.now()-this._lastServerActivityTS;t>2*e&&(this.debug(`did not receive server activity for the last ${t}ms`),this._closeOrDiscardWebsocket())}),e)}}_closeOrDiscardWebsocket(){this.discardWebsocketOnCommFailure?(this.debug("Discarding websocket, the underlying socket may linger for a while"),this.discardWebsocket()):(this.debug("Issuing close on the websocket"),this._closeWebsocket())}forceDisconnect(){this._webSocket&&(this._webSocket.readyState!==o.CONNECTING&&this._webSocket.readyState!==o.OPEN||this._closeOrDiscardWebsocket())}_closeWebsocket(){this._webSocket.onmessage=()=>{},this._webSocket.close()}discardWebsocket(){var e,t;"function"!=typeof this._webSocket.terminate&&(e=this._webSocket,t=e=>this.debug(e),e.terminate=function(){const n=()=>{};this.onerror=n,this.onmessage=n,this.onopen=n;const s=new Date,i=Math.random().toString().substring(2,8),o=this.onclose;this.onclose=e=>{const n=(new Date).getTime()-s.getTime();t(`Discarded socket (#${i}) closed after ${n}ms, with code/reason: ${e.code}/${e.reason}`)},this.close(),null==o||o.call(e,{code:4001,reason:`Quick discarding socket (#${i}) without waiting for the shutdown sequence.`,wasClean:!1})}),this._webSocket.terminate()}_transmit(e){const{command:t,headers:n,body:i,binaryBody:o,skipContentLengthHeader:r}=e,c=new s({command:t,headers:n,body:i,binaryBody:o,escapeHeaderValues:this._escapeHeaderValues,skipContentLengthHeader:r});let a=c.serialize();if(this.logRawCommunication?this.debug(`>>> ${a}`):this.debug(`>>> ${c}`),this.forceBinaryWSFrames&&"string"==typeof a&&(a=(new TextEncoder).encode(a)),"string"==typeof a&&this.splitLargeFrames){let e=a;for(;e.length>0;){const t=e.substring(0,this.maxWebSocketChunkSize);e=e.substring(this.maxWebSocketChunkSize),this._webSocket.send(t),this.debug(`chunk sent = ${t.length}, remaining = ${e.length}`)}}else this._webSocket.send(a)}dispose(){if(this.connected)try{const e=Object.assign({},this.disconnectHeaders);e.receipt||(e.receipt="close-"+this._counter++),this.watchForReceipt(e.receipt,(e=>{this._closeWebsocket(),this._cleanUp(),this.onDisconnect(e)})),this._transmit({command:"DISCONNECT",headers:e})}catch(e){this.debug(`Ignoring error during disconnect ${e}`)}else this._webSocket.readyState!==o.CONNECTING&&this._webSocket.readyState!==o.OPEN||this._closeWebsocket()}_cleanUp(){this._connected=!1,this._pinger&&(clearInterval(this._pinger),this._pinger=void 0),this._ponger&&(clearInterval(this._ponger),this._ponger=void 0)}publish(e){const{destination:t,headers:n,body:s,binaryBody:i,skipContentLengthHeader:o}=e,r=Object.assign({destination:t},n);this._transmit({command:"SEND",headers:r,body:s,binaryBody:i,skipContentLengthHeader:o})}watchForReceipt(e,t){this._receiptWatchers[e]=t}subscribe(e,t,n={}){(n=Object.assign({},n)).id||(n.id="sub-"+this._counter++),n.destination=e,this._subscriptions[n.id]=t,this._transmit({command:"SUBSCRIBE",headers:n});const s=this;return{id:n.id,unsubscribe:e=>s.unsubscribe(n.id,e)}}unsubscribe(e,t={}){t=Object.assign({},t),delete this._subscriptions[e],t.id=e,this._transmit({command:"UNSUBSCRIBE",headers:t})}begin(e){const t=e||"tx-"+this._counter++;this._transmit({command:"BEGIN",headers:{transaction:t}});const n=this;return{id:t,commit(){n.commit(t)},abort(){n.abort(t)}}}commit(e){this._transmit({command:"COMMIT",headers:{transaction:e}})}abort(e){this._transmit({command:"ABORT",headers:{transaction:e}})}ack(e,t,n={}){n=Object.assign({},n),this._connectedVersion===c.V1_2?n.id=e:n["message-id"]=e,n.subscription=t,this._transmit({command:"ACK",headers:n})}nack(e,t,n={}){return n=Object.assign({},n),this._connectedVersion===c.V1_2?n.id=e:n["message-id"]=e,n.subscription=t,this._transmit({command:"NACK",headers:n})}}var h=function(e,t,n,s){return new(n||(n=Promise))((function(i,o){function r(e){try{a(s.next(e))}catch(e){o(e)}}function c(e){try{a(s.throw(e))}catch(e){o(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,c)}a((s=s.apply(e,t||[])).next())}))};class d{constructor(e={}){this.stompVersions=c.default,this.connectionTimeout=0,this.reconnectDelay=5e3,this.heartbeatIncoming=1e4,this.heartbeatOutgoing=1e4,this.splitLargeFrames=!1,this.maxWebSocketChunkSize=8192,this.forceBinaryWSFrames=!1,this.appendMissingNULLonIncoming=!1,this.discardWebsocketOnCommFailure=!1,this.state=r.INACTIVE;const t=()=>{};this.debug=t,this.beforeConnect=t,this.onConnect=t,this.onDisconnect=t,this.onUnhandledMessage=t,this.onUnhandledReceipt=t,this.onUnhandledFrame=t,this.onStompError=t,this.onWebSocketClose=t,this.onWebSocketError=t,this.logRawCommunication=!1,this.onChangeState=t,this.connectHeaders={},this._disconnectHeaders={},this.configure(e)}get webSocket(){var e;return null===(e=this._stompHandler)||void 0===e?void 0:e._webSocket}get disconnectHeaders(){return this._disconnectHeaders}set disconnectHeaders(e){this._disconnectHeaders=e,this._stompHandler&&(this._stompHandler.disconnectHeaders=this._disconnectHeaders)}get connected(){return!!this._stompHandler&&this._stompHandler.connected}get connectedVersion(){return this._stompHandler?this._stompHandler.connectedVersion:void 0}get active(){return this.state===r.ACTIVE}_changeState(e){this.state=e,this.onChangeState(e)}configure(e){Object.assign(this,e)}activate(){if(this.state===r.DEACTIVATING)throw this.debug("Still DEACTIVATING, please await call to deactivate before trying to re-activate"),new Error("Still DEACTIVATING, can not activate now");this.active?this.debug("Already ACTIVE, ignoring request to activate"):(this._changeState(r.ACTIVE),this._connect())}_connect(){return h(this,void 0,void 0,(function*(){if(this.connected)return void this.debug("STOMP: already connected, nothing to do");if(yield this.beforeConnect(),!this.active)return void this.debug("Client has been marked inactive, will not attempt to connect");this.connectionTimeout>0&&(this._connectionWatcher&&clearTimeout(this._connectionWatcher),this._connectionWatcher=setTimeout((()=>{this.connected||(this.debug(`Connection not established in ${this.connectionTimeout}ms, closing socket`),this.forceDisconnect())}),this.connectionTimeout)),this.debug("Opening Web Socket...");const e=this._createWebSocket();this._stompHandler=new a(this,e,{debug:this.debug,stompVersions:this.stompVersions,connectHeaders:this.connectHeaders,disconnectHeaders:this._disconnectHeaders,heartbeatIncoming:this.heartbeatIncoming,heartbeatOutgoing:this.heartbeatOutgoing,splitLargeFrames:this.splitLargeFrames,maxWebSocketChunkSize:this.maxWebSocketChunkSize,forceBinaryWSFrames:this.forceBinaryWSFrames,logRawCommunication:this.logRawCommunication,appendMissingNULLonIncoming:this.appendMissingNULLonIncoming,discardWebsocketOnCommFailure:this.discardWebsocketOnCommFailure,onConnect:e=>{if(this._connectionWatcher&&(clearTimeout(this._connectionWatcher),this._connectionWatcher=void 0),!this.active)return this.debug("STOMP got connected while deactivate was issued, will disconnect now"),void this._disposeStompHandler();this.onConnect(e)},onDisconnect:e=>{this.onDisconnect(e)},onStompError:e=>{this.onStompError(e)},onWebSocketClose:e=>{this._stompHandler=void 0,this.state===r.DEACTIVATING&&this._changeState(r.INACTIVE),this.onWebSocketClose(e),this.active&&this._schedule_reconnect()},onWebSocketError:e=>{this.onWebSocketError(e)},onUnhandledMessage:e=>{this.onUnhandledMessage(e)},onUnhandledReceipt:e=>{this.onUnhandledReceipt(e)},onUnhandledFrame:e=>{this.onUnhandledFrame(e)}}),this._stompHandler.start()}))}_createWebSocket(){let e;if(this.webSocketFactory)e=this.webSocketFactory();else{if(!this.brokerURL)throw new Error("Either brokerURL or webSocketFactory must be provided");e=new WebSocket(this.brokerURL,this.stompVersions.protocolVersions())}return e.binaryType="arraybuffer",e}_schedule_reconnect(){this.reconnectDelay>0&&(this.debug(`STOMP: scheduling reconnection in ${this.reconnectDelay}ms`),this._reconnector=setTimeout((()=>{this._connect()}),this.reconnectDelay))}deactivate(e={}){var t;return h(this,void 0,void 0,(function*(){const n=e.force||!1,s=this.active;let i;if(this.state===r.INACTIVE)return this.debug("Already INACTIVE, nothing more to do"),Promise.resolve();if(this._changeState(r.DEACTIVATING),this._reconnector&&(clearTimeout(this._reconnector),this._reconnector=void 0),!this._stompHandler||this.webSocket.readyState===o.CLOSED)return this._changeState(r.INACTIVE),Promise.resolve();{const e=this._stompHandler.onWebSocketClose;i=new Promise(((t,n)=>{this._stompHandler.onWebSocketClose=n=>{e(n),t()}}))}return n?null===(t=this._stompHandler)||void 0===t||t.discardWebsocket():s&&this._disposeStompHandler(),i}))}forceDisconnect(){this._stompHandler&&this._stompHandler.forceDisconnect()}_disposeStompHandler(){this._stompHandler&&this._stompHandler.dispose()}publish(e){this._checkConnection(),this._stompHandler.publish(e)}_checkConnection(){if(!this.connected)throw new TypeError("There is no underlying STOMP connection")}watchForReceipt(e,t){this._checkConnection(),this._stompHandler.watchForReceipt(e,t)}subscribe(e,t,n={}){return this._checkConnection(),this._stompHandler.subscribe(e,t,n)}unsubscribe(e,t={}){this._checkConnection(),this._stompHandler.unsubscribe(e,t)}begin(e){return this._checkConnection(),this._stompHandler.begin(e)}commit(e){this._checkConnection(),this._stompHandler.commit(e)}abort(e){this._checkConnection(),this._stompHandler.abort(e)}ack(e,t,n={}){this._checkConnection(),this._stompHandler.ack(e,t,n)}nack(e,t,n={}){this._checkConnection(),this._stompHandler.nack(e,t,n)}}class l{}class m{}class u{constructor(e){this.client=e}get outgoing(){return this.client.heartbeatOutgoing}set outgoing(e){this.client.heartbeatOutgoing=e}get incoming(){return this.client.heartbeatIncoming}set incoming(e){this.client.heartbeatIncoming=e}}class _ extends d{constructor(e){super(),this.maxWebSocketFrameSize=16384,this._heartbeatInfo=new u(this),this.reconnect_delay=0,this.webSocketFactory=e,this.debug=(...e)=>{console.log(...e)}}_parseConnect(...e){let t,n,s,i={};if(e.length<2)throw new Error("Connect requires at least 2 arguments");return"function"==typeof e[1]?[i,n,s,t]=e:6===e.length?[i.login,i.passcode,n,s,t,i.host]=e:[i.login,i.passcode,n,s,t]=e,[i,n,s,t]}connect(...e){const t=this._parseConnect(...e);t[0]&&(this.connectHeaders=t[0]),t[1]&&(this.onConnect=t[1]),t[2]&&(this.onStompError=t[2]),t[3]&&(this.onWebSocketClose=t[3]),super.activate()}disconnect(e,t={}){e&&(this.onDisconnect=e),this.disconnectHeaders=t,super.deactivate()}send(e,t={},n=""){const s=!1===(t=Object.assign({},t))["content-length"];s&&delete t["content-length"],this.publish({destination:e,headers:t,body:n,skipContentLengthHeader:s})}set reconnect_delay(e){this.reconnectDelay=e}get ws(){return this.webSocket}get version(){return this.connectedVersion}get onreceive(){return this.onUnhandledMessage}set onreceive(e){this.onUnhandledMessage=e}get onreceipt(){return this.onUnhandledReceipt}set onreceipt(e){this.onUnhandledReceipt=e}get heartbeat(){return this._heartbeatInfo}set heartbeat(e){this.heartbeatIncoming=e.incoming,this.heartbeatOutgoing=e.outgoing}}class g{static client(e,t){return null==t&&(t=c.default.protocolVersions()),new _((()=>new(g.WebSocketClass||WebSocket)(e,t)))}static over(e){let t;return"function"==typeof e?t=e:(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"),t=()=>e),new _(t)}}return g.WebSocketClass=null,t})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).StompJs={})}(this,(function(e){"use strict";const t="\n",s="\0";class n{constructor(e){const{command:t,headers:s,body:n,binaryBody:i,escapeHeaderValues:o,skipContentLengthHeader:c}=e;this.command=t,this.headers=Object.assign({},s||{}),i?(this._binaryBody=i,this.isBinaryBody=!0):(this._body=n||"",this.isBinaryBody=!1),this.escapeHeaderValues=o||!1,this.skipContentLengthHeader=c||!1}get body(){return!this._body&&this.isBinaryBody&&(this._body=(new TextDecoder).decode(this._binaryBody)),this._body||""}get binaryBody(){return this._binaryBody||this.isBinaryBody||(this._binaryBody=(new TextEncoder).encode(this._body)),this._binaryBody}static fromRawFrame(e,t){const s={},i=e=>e.replace(/^\s+|\s+$/g,"");for(const o of e.headers.reverse()){o.indexOf(":");const c=i(o[0]);let r=i(o[1]);t&&"CONNECT"!==e.command&&"CONNECTED"!==e.command&&(r=n.hdrValueUnEscape(r)),s[c]=r}return new n({command:e.command,headers:s,binaryBody:e.binaryBody,escapeHeaderValues:t})}toString(){return this.serializeCmdAndHeaders()}serialize(){const e=this.serializeCmdAndHeaders();return this.isBinaryBody?n.toUnit8Array(e,this._binaryBody).buffer:e+this._body+s}serializeCmdAndHeaders(){const e=[this.command];this.skipContentLengthHeader&&delete this.headers["content-length"];for(const t of Object.keys(this.headers||{})){const s=this.headers[t];this.escapeHeaderValues&&"CONNECT"!==this.command&&"CONNECTED"!==this.command?e.push(`${t}:${n.hdrValueEscape(`${s}`)}`):e.push(`${t}:${s}`)}return(this.isBinaryBody||!this.isBodyEmpty()&&!this.skipContentLengthHeader)&&e.push(`content-length:${this.bodyLength()}`),e.join(t)+t+t}isBodyEmpty(){return 0===this.bodyLength()}bodyLength(){const e=this.binaryBody;return e?e.length:0}static sizeOfUTF8(e){return e?(new TextEncoder).encode(e).length:0}static toUnit8Array(e,t){const s=(new TextEncoder).encode(e),n=new Uint8Array([0]),i=new Uint8Array(s.length+t.length+n.length);return i.set(s),i.set(t,s.length),i.set(n,s.length+t.length),i}static marshall(e){return new n(e).serialize()}static hdrValueEscape(e){return e.replace(/\\/g,"\\\\").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/:/g,"\\c")}static hdrValueUnEscape(e){return e.replace(/\\r/g,"\r").replace(/\\n/g,"\n").replace(/\\c/g,":").replace(/\\\\/g,"\\")}}class i{constructor(e,t){this.onFrame=e,this.onIncomingPing=t,this._encoder=new TextEncoder,this._decoder=new TextDecoder,this._token=[],this._initState()}parseChunk(e,t=!1){let s;if(s="string"==typeof e?this._encoder.encode(e):new Uint8Array(e),t&&0!==s[s.length-1]){const e=new Uint8Array(s.length+1);e.set(s,0),e[s.length]=0,s=e}for(let e=0;e<s.length;e++){const t=s[e];this._onByte(t)}}_collectFrame(e){0!==e&&13!==e&&(10!==e?(this._onByte=this._collectCommand,this._reinjectByte(e)):this.onIncomingPing())}_collectCommand(e){if(13!==e)return 10===e?(this._results.command=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_collectHeaders(e){13!==e&&(10!==e?(this._onByte=this._collectHeaderKey,this._reinjectByte(e)):this._setupCollectBody())}_reinjectByte(e){this._onByte(e)}_collectHeaderKey(e){if(58===e)return this._headerKey=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaderValue);this._consumeByte(e)}_collectHeaderValue(e){if(13!==e)return 10===e?(this._results.headers.push([this._headerKey,this._consumeTokenAsUTF8()]),this._headerKey=void 0,void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_setupCollectBody(){const e=this._results.headers.filter((e=>"content-length"===e[0]))[0];e?(this._bodyBytesRemaining=parseInt(e[1],10),this._onByte=this._collectBodyFixedSize):this._onByte=this._collectBodyNullTerminated}_collectBodyNullTerminated(e){0!==e?this._consumeByte(e):this._retrievedBody()}_collectBodyFixedSize(e){0!=this._bodyBytesRemaining--?this._consumeByte(e):this._retrievedBody()}_retrievedBody(){this._results.binaryBody=this._consumeTokenAsRaw();try{this.onFrame(this._results)}catch(e){console.log("Ignoring an exception thrown by a frame handler. Original exception: ",e)}this._initState()}_consumeByte(e){this._token.push(e)}_consumeTokenAsUTF8(){return this._decoder.decode(this._consumeTokenAsRaw())}_consumeTokenAsRaw(){const e=new Uint8Array(this._token);return this._token=[],e}_initState(){this._results={command:void 0,headers:[],binaryBody:void 0},this._token=[],this._headerKey=void 0,this._onByte=this._collectFrame}}var o,c;e.StompSocketState=void 0,(o=e.StompSocketState=e.StompSocketState||(e.StompSocketState={}))[o.CONNECTING=0]="CONNECTING",o[o.OPEN=1]="OPEN",o[o.CLOSING=2]="CLOSING",o[o.CLOSED=3]="CLOSED",e.ActivationState=void 0,(c=e.ActivationState=e.ActivationState||(e.ActivationState={}))[c.ACTIVE=0]="ACTIVE",c[c.DEACTIVATING=1]="DEACTIVATING",c[c.INACTIVE=2]="INACTIVE";class r{constructor(e){this.versions=e}supportedVersions(){return this.versions.join(",")}protocolVersions(){return this.versions.map((e=>`v${e.replace(".","")}.stomp`))}}r.V1_0="1.0",r.V1_1="1.1",r.V1_2="1.2",r.default=new r([r.V1_2,r.V1_1,r.V1_0]);class a{constructor(e,t,s){this._client=e,this._webSocket=t,this._connected=!1,this._serverFrameHandlers={CONNECTED:e=>{this.debug(`connected to server ${e.headers.server}`),this._connected=!0,this._connectedVersion=e.headers.version,this._connectedVersion===r.V1_2&&(this._escapeHeaderValues=!0),this._setupHeartbeat(e.headers),this.onConnect(e)},MESSAGE:e=>{const t=e.headers.subscription,s=this._subscriptions[t]||this.onUnhandledMessage,n=e,i=this,o=this._connectedVersion===r.V1_2?n.headers.ack:n.headers["message-id"];n.ack=(e={})=>i.ack(o,t,e),n.nack=(e={})=>i.nack(o,t,e),s(n)},RECEIPT:e=>{const t=this._receiptWatchers[e.headers["receipt-id"]];t?(t(e),delete this._receiptWatchers[e.headers["receipt-id"]]):this.onUnhandledReceipt(e)},ERROR:e=>{this.onStompError(e)}},this._counter=0,this._subscriptions={},this._receiptWatchers={},this._partialData="",this._escapeHeaderValues=!1,this._lastServerActivityTS=Date.now(),this.debug=s.debug,this.stompVersions=s.stompVersions,this.connectHeaders=s.connectHeaders,this.disconnectHeaders=s.disconnectHeaders,this.heartbeatIncoming=s.heartbeatIncoming,this.heartbeatOutgoing=s.heartbeatOutgoing,this.splitLargeFrames=s.splitLargeFrames,this.maxWebSocketChunkSize=s.maxWebSocketChunkSize,this.forceBinaryWSFrames=s.forceBinaryWSFrames,this.logRawCommunication=s.logRawCommunication,this.appendMissingNULLonIncoming=s.appendMissingNULLonIncoming,this.discardWebsocketOnCommFailure=s.discardWebsocketOnCommFailure,this.onConnect=s.onConnect,this.onDisconnect=s.onDisconnect,this.onStompError=s.onStompError,this.onWebSocketClose=s.onWebSocketClose,this.onWebSocketError=s.onWebSocketError,this.onUnhandledMessage=s.onUnhandledMessage,this.onUnhandledReceipt=s.onUnhandledReceipt,this.onUnhandledFrame=s.onUnhandledFrame}get connectedVersion(){return this._connectedVersion}get connected(){return this._connected}start(){const e=new i((e=>{const t=n.fromRawFrame(e,this._escapeHeaderValues);this.logRawCommunication||this.debug(`<<< ${t}`);(this._serverFrameHandlers[t.command]||this.onUnhandledFrame)(t)}),(()=>{this.debug("<<< PONG")}));this._webSocket.onmessage=t=>{if(this.debug("Received data"),this._lastServerActivityTS=Date.now(),this.logRawCommunication){const e=t.data instanceof ArrayBuffer?(new TextDecoder).decode(t.data):t.data;this.debug(`<<< ${e}`)}e.parseChunk(t.data,this.appendMissingNULLonIncoming)},this._webSocket.onclose=e=>{this.debug(`Connection closed to ${this._webSocket.url}`),this._cleanUp(),this.onWebSocketClose(e)},this._webSocket.onerror=e=>{this.onWebSocketError(e)},this._webSocket.onopen=()=>{const e=Object.assign({},this.connectHeaders);this.debug("Web Socket Opened..."),e["accept-version"]=this.stompVersions.supportedVersions(),e["heart-beat"]=[this.heartbeatOutgoing,this.heartbeatIncoming].join(","),this._transmit({command:"CONNECT",headers:e})}}_setupHeartbeat(s){if(s.version!==r.V1_1&&s.version!==r.V1_2)return;if(!s["heart-beat"])return;const[n,i]=s["heart-beat"].split(",").map((e=>parseInt(e,10)));if(0!==this.heartbeatOutgoing&&0!==i){const s=Math.max(this.heartbeatOutgoing,i);this.debug(`send PING every ${s}ms`),this._pinger=setInterval((()=>{this._webSocket.readyState===e.StompSocketState.OPEN&&(this._webSocket.send(t),this.debug(">>> PING"))}),s)}if(0!==this.heartbeatIncoming&&0!==n){const e=Math.max(this.heartbeatIncoming,n);this.debug(`check PONG every ${e}ms`),this._ponger=setInterval((()=>{const t=Date.now()-this._lastServerActivityTS;t>2*e&&(this.debug(`did not receive server activity for the last ${t}ms`),this._closeOrDiscardWebsocket())}),e)}}_closeOrDiscardWebsocket(){this.discardWebsocketOnCommFailure?(this.debug("Discarding websocket, the underlying socket may linger for a while"),this.discardWebsocket()):(this.debug("Issuing close on the websocket"),this._closeWebsocket())}forceDisconnect(){this._webSocket&&(this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeOrDiscardWebsocket())}_closeWebsocket(){this._webSocket.onmessage=()=>{},this._webSocket.close()}discardWebsocket(){var e,t;"function"!=typeof this._webSocket.terminate&&(e=this._webSocket,t=e=>this.debug(e),e.terminate=function(){const s=()=>{};this.onerror=s,this.onmessage=s,this.onopen=s;const n=new Date,i=Math.random().toString().substring(2,8),o=this.onclose;this.onclose=e=>{const s=(new Date).getTime()-n.getTime();t(`Discarded socket (#${i}) closed after ${s}ms, with code/reason: ${e.code}/${e.reason}`)},this.close(),o?.call(e,{code:4001,reason:`Quick discarding socket (#${i}) without waiting for the shutdown sequence.`,wasClean:!1})}),this._webSocket.terminate()}_transmit(e){const{command:t,headers:s,body:i,binaryBody:o,skipContentLengthHeader:c}=e,r=new n({command:t,headers:s,body:i,binaryBody:o,escapeHeaderValues:this._escapeHeaderValues,skipContentLengthHeader:c});let a=r.serialize();if(this.logRawCommunication?this.debug(`>>> ${a}`):this.debug(`>>> ${r}`),this.forceBinaryWSFrames&&"string"==typeof a&&(a=(new TextEncoder).encode(a)),"string"==typeof a&&this.splitLargeFrames){let e=a;for(;e.length>0;){const t=e.substring(0,this.maxWebSocketChunkSize);e=e.substring(this.maxWebSocketChunkSize),this._webSocket.send(t),this.debug(`chunk sent = ${t.length}, remaining = ${e.length}`)}}else this._webSocket.send(a)}dispose(){if(this.connected)try{const e=Object.assign({},this.disconnectHeaders);e.receipt||(e.receipt="close-"+this._counter++),this.watchForReceipt(e.receipt,(e=>{this._closeWebsocket(),this._cleanUp(),this.onDisconnect(e)})),this._transmit({command:"DISCONNECT",headers:e})}catch(e){this.debug(`Ignoring error during disconnect ${e}`)}else this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeWebsocket()}_cleanUp(){this._connected=!1,this._pinger&&(clearInterval(this._pinger),this._pinger=void 0),this._ponger&&(clearInterval(this._ponger),this._ponger=void 0)}publish(e){const{destination:t,headers:s,body:n,binaryBody:i,skipContentLengthHeader:o}=e,c=Object.assign({destination:t},s);this._transmit({command:"SEND",headers:c,body:n,binaryBody:i,skipContentLengthHeader:o})}watchForReceipt(e,t){this._receiptWatchers[e]=t}subscribe(e,t,s={}){(s=Object.assign({},s)).id||(s.id="sub-"+this._counter++),s.destination=e,this._subscriptions[s.id]=t,this._transmit({command:"SUBSCRIBE",headers:s});const n=this;return{id:s.id,unsubscribe:e=>n.unsubscribe(s.id,e)}}unsubscribe(e,t={}){t=Object.assign({},t),delete this._subscriptions[e],t.id=e,this._transmit({command:"UNSUBSCRIBE",headers:t})}begin(e){const t=e||"tx-"+this._counter++;this._transmit({command:"BEGIN",headers:{transaction:t}});const s=this;return{id:t,commit(){s.commit(t)},abort(){s.abort(t)}}}commit(e){this._transmit({command:"COMMIT",headers:{transaction:e}})}abort(e){this._transmit({command:"ABORT",headers:{transaction:e}})}ack(e,t,s={}){s=Object.assign({},s),this._connectedVersion===r.V1_2?s.id=e:s["message-id"]=e,s.subscription=t,this._transmit({command:"ACK",headers:s})}nack(e,t,s={}){return s=Object.assign({},s),this._connectedVersion===r.V1_2?s.id=e:s["message-id"]=e,s.subscription=t,this._transmit({command:"NACK",headers:s})}}class h{constructor(t={}){this.stompVersions=r.default,this.connectionTimeout=0,this.reconnectDelay=5e3,this.heartbeatIncoming=1e4,this.heartbeatOutgoing=1e4,this.splitLargeFrames=!1,this.maxWebSocketChunkSize=8192,this.forceBinaryWSFrames=!1,this.appendMissingNULLonIncoming=!1,this.discardWebsocketOnCommFailure=!1,this.state=e.ActivationState.INACTIVE;const s=()=>{};this.debug=s,this.beforeConnect=s,this.onConnect=s,this.onDisconnect=s,this.onUnhandledMessage=s,this.onUnhandledReceipt=s,this.onUnhandledFrame=s,this.onStompError=s,this.onWebSocketClose=s,this.onWebSocketError=s,this.logRawCommunication=!1,this.onChangeState=s,this.connectHeaders={},this._disconnectHeaders={},this.configure(t)}get webSocket(){return this._stompHandler?._webSocket}get disconnectHeaders(){return this._disconnectHeaders}set disconnectHeaders(e){this._disconnectHeaders=e,this._stompHandler&&(this._stompHandler.disconnectHeaders=this._disconnectHeaders)}get connected(){return!!this._stompHandler&&this._stompHandler.connected}get connectedVersion(){return this._stompHandler?this._stompHandler.connectedVersion:void 0}get active(){return this.state===e.ActivationState.ACTIVE}_changeState(e){this.state=e,this.onChangeState(e)}configure(e){Object.assign(this,e)}activate(){if(this.state===e.ActivationState.DEACTIVATING)throw this.debug("Still DEACTIVATING, please await call to deactivate before trying to re-activate"),new Error("Still DEACTIVATING, can not activate now");this.active?this.debug("Already ACTIVE, ignoring request to activate"):(this._changeState(e.ActivationState.ACTIVE),this._connect())}async _connect(){if(this.connected)return void this.debug("STOMP: already connected, nothing to do");if(await this.beforeConnect(),!this.active)return void this.debug("Client has been marked inactive, will not attempt to connect");this.connectionTimeout>0&&(this._connectionWatcher&&clearTimeout(this._connectionWatcher),this._connectionWatcher=setTimeout((()=>{this.connected||(this.debug(`Connection not established in ${this.connectionTimeout}ms, closing socket`),this.forceDisconnect())}),this.connectionTimeout)),this.debug("Opening Web Socket...");const t=this._createWebSocket();this._stompHandler=new a(this,t,{debug:this.debug,stompVersions:this.stompVersions,connectHeaders:this.connectHeaders,disconnectHeaders:this._disconnectHeaders,heartbeatIncoming:this.heartbeatIncoming,heartbeatOutgoing:this.heartbeatOutgoing,splitLargeFrames:this.splitLargeFrames,maxWebSocketChunkSize:this.maxWebSocketChunkSize,forceBinaryWSFrames:this.forceBinaryWSFrames,logRawCommunication:this.logRawCommunication,appendMissingNULLonIncoming:this.appendMissingNULLonIncoming,discardWebsocketOnCommFailure:this.discardWebsocketOnCommFailure,onConnect:e=>{if(this._connectionWatcher&&(clearTimeout(this._connectionWatcher),this._connectionWatcher=void 0),!this.active)return this.debug("STOMP got connected while deactivate was issued, will disconnect now"),void this._disposeStompHandler();this.onConnect(e)},onDisconnect:e=>{this.onDisconnect(e)},onStompError:e=>{this.onStompError(e)},onWebSocketClose:t=>{this._stompHandler=void 0,this.state===e.ActivationState.DEACTIVATING&&this._changeState(e.ActivationState.INACTIVE),this.onWebSocketClose(t),this.active&&this._schedule_reconnect()},onWebSocketError:e=>{this.onWebSocketError(e)},onUnhandledMessage:e=>{this.onUnhandledMessage(e)},onUnhandledReceipt:e=>{this.onUnhandledReceipt(e)},onUnhandledFrame:e=>{this.onUnhandledFrame(e)}}),this._stompHandler.start()}_createWebSocket(){let e;if(this.webSocketFactory)e=this.webSocketFactory();else{if(!this.brokerURL)throw new Error("Either brokerURL or webSocketFactory must be provided");e=new WebSocket(this.brokerURL,this.stompVersions.protocolVersions())}return e.binaryType="arraybuffer",e}_schedule_reconnect(){this.reconnectDelay>0&&(this.debug(`STOMP: scheduling reconnection in ${this.reconnectDelay}ms`),this._reconnector=setTimeout((()=>{this._connect()}),this.reconnectDelay))}async deactivate(t={}){const s=t.force||!1,n=this.active;let i;if(this.state===e.ActivationState.INACTIVE)return this.debug("Already INACTIVE, nothing more to do"),Promise.resolve();if(this._changeState(e.ActivationState.DEACTIVATING),this._reconnector&&(clearTimeout(this._reconnector),this._reconnector=void 0),!this._stompHandler||this.webSocket.readyState===e.StompSocketState.CLOSED)return this._changeState(e.ActivationState.INACTIVE),Promise.resolve();{const e=this._stompHandler.onWebSocketClose;i=new Promise(((t,s)=>{this._stompHandler.onWebSocketClose=s=>{e(s),t()}}))}return s?this._stompHandler?.discardWebsocket():n&&this._disposeStompHandler(),i}forceDisconnect(){this._stompHandler&&this._stompHandler.forceDisconnect()}_disposeStompHandler(){this._stompHandler&&this._stompHandler.dispose()}publish(e){this._checkConnection(),this._stompHandler.publish(e)}_checkConnection(){if(!this.connected)throw new TypeError("There is no underlying STOMP connection")}watchForReceipt(e,t){this._checkConnection(),this._stompHandler.watchForReceipt(e,t)}subscribe(e,t,s={}){return this._checkConnection(),this._stompHandler.subscribe(e,t,s)}unsubscribe(e,t={}){this._checkConnection(),this._stompHandler.unsubscribe(e,t)}begin(e){return this._checkConnection(),this._stompHandler.begin(e)}commit(e){this._checkConnection(),this._stompHandler.commit(e)}abort(e){this._checkConnection(),this._stompHandler.abort(e)}ack(e,t,s={}){this._checkConnection(),this._stompHandler.ack(e,t,s)}nack(e,t,s={}){this._checkConnection(),this._stompHandler.nack(e,t,s)}}class d{constructor(e){this.client=e}get outgoing(){return this.client.heartbeatOutgoing}set outgoing(e){this.client.heartbeatOutgoing=e}get incoming(){return this.client.heartbeatIncoming}set incoming(e){this.client.heartbeatIncoming=e}}class l extends h{constructor(e){super(),this.maxWebSocketFrameSize=16384,this._heartbeatInfo=new d(this),this.reconnect_delay=0,this.webSocketFactory=e,this.debug=(...e)=>{console.log(...e)}}_parseConnect(...e){let t,s,n,i={};if(e.length<2)throw new Error("Connect requires at least 2 arguments");if("function"==typeof e[1])[i,s,n,t]=e;else if(6===e.length)[i.login,i.passcode,s,n,t,i.host]=e;else[i.login,i.passcode,s,n,t]=e;return[i,s,n,t]}connect(...e){const t=this._parseConnect(...e);t[0]&&(this.connectHeaders=t[0]),t[1]&&(this.onConnect=t[1]),t[2]&&(this.onStompError=t[2]),t[3]&&(this.onWebSocketClose=t[3]),super.activate()}disconnect(e,t={}){e&&(this.onDisconnect=e),this.disconnectHeaders=t,super.deactivate()}send(e,t={},s=""){const n=!1===(t=Object.assign({},t))["content-length"];n&&delete t["content-length"],this.publish({destination:e,headers:t,body:s,skipContentLengthHeader:n})}set reconnect_delay(e){this.reconnectDelay=e}get ws(){return this.webSocket}get version(){return this.connectedVersion}get onreceive(){return this.onUnhandledMessage}set onreceive(e){this.onUnhandledMessage=e}get onreceipt(){return this.onUnhandledReceipt}set onreceipt(e){this.onUnhandledReceipt=e}get heartbeat(){return this._heartbeatInfo}set heartbeat(e){this.heartbeatIncoming=e.incoming,this.heartbeatOutgoing=e.outgoing}}class m{static client(e,t){null==t&&(t=r.default.protocolVersions());return new l((()=>new(m.WebSocketClass||WebSocket)(e,t)))}static over(e){let t;return"function"==typeof e?t=e:(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"),t=()=>e),new l(t)}}m.WebSocketClass=null,e.Client=h,e.CompatClient=l,e.FrameImpl=n,e.Parser=i,e.Stomp=m,e.StompConfig=class{},e.StompHeaders=class{},e.Versions=r}));
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var net = require('net');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Possible states for the IStompSocket
|
|
7
|
+
*/
|
|
8
|
+
var StompSocketState;
|
|
9
|
+
(function (StompSocketState) {
|
|
10
|
+
StompSocketState[StompSocketState["CONNECTING"] = 0] = "CONNECTING";
|
|
11
|
+
StompSocketState[StompSocketState["OPEN"] = 1] = "OPEN";
|
|
12
|
+
StompSocketState[StompSocketState["CLOSING"] = 2] = "CLOSING";
|
|
13
|
+
StompSocketState[StompSocketState["CLOSED"] = 3] = "CLOSED";
|
|
14
|
+
})(StompSocketState = StompSocketState || (StompSocketState = {}));
|
|
15
|
+
/**
|
|
16
|
+
* Possible activation state
|
|
17
|
+
*/
|
|
18
|
+
var ActivationState;
|
|
19
|
+
(function (ActivationState) {
|
|
20
|
+
ActivationState[ActivationState["ACTIVE"] = 0] = "ACTIVE";
|
|
21
|
+
ActivationState[ActivationState["DEACTIVATING"] = 1] = "DEACTIVATING";
|
|
22
|
+
ActivationState[ActivationState["INACTIVE"] = 2] = "INACTIVE";
|
|
23
|
+
})(ActivationState = ActivationState || (ActivationState = {}));
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Wrapper for a TCP socket to make it behave similar to the WebSocket interface
|
|
27
|
+
*/
|
|
28
|
+
class TCPWrapper {
|
|
29
|
+
constructor(host, port) {
|
|
30
|
+
this.url = `tcp://${host}/${port}/`;
|
|
31
|
+
this.readyState = StompSocketState.CONNECTING;
|
|
32
|
+
this.socket = net.createConnection(port, host, () => {
|
|
33
|
+
if (typeof this.onopen === 'function') {
|
|
34
|
+
this.readyState = StompSocketState.OPEN;
|
|
35
|
+
this.onopen();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
this.socket.on('data', ev => {
|
|
39
|
+
if (typeof this.onmessage === 'function') {
|
|
40
|
+
this.onmessage({ data: ev });
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
this.socket.on('close', hadError => {
|
|
44
|
+
this.readyState = StompSocketState.CLOSED;
|
|
45
|
+
if (typeof this.onclose === 'function') {
|
|
46
|
+
if (this._closeEvtOnTermination) {
|
|
47
|
+
this.onclose(this._closeEvtOnTermination);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.onclose({ wasClean: !hadError, type: 'CloseEvent', code: 1000 });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
this.socket.on('error', ev => {
|
|
55
|
+
if (typeof this.onerror === 'function') {
|
|
56
|
+
this.onerror({ type: 'Error', error: 100, message: ev });
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
send(data) {
|
|
61
|
+
if (typeof data === 'string') {
|
|
62
|
+
this.socket.write(data);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.socket.write(new Uint8Array(data));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
close(code, reason) {
|
|
69
|
+
this.readyState = StompSocketState.CLOSING;
|
|
70
|
+
this.socket.end();
|
|
71
|
+
}
|
|
72
|
+
terminate() {
|
|
73
|
+
this.readyState = StompSocketState.CLOSING;
|
|
74
|
+
this._closeEvtOnTermination = {
|
|
75
|
+
wasClean: false,
|
|
76
|
+
type: 'CloseEvent',
|
|
77
|
+
code: 4001,
|
|
78
|
+
};
|
|
79
|
+
this.socket.destroy();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
exports.TCPWrapper = TCPWrapper;
|
|
84
|
+
//# sourceMappingURL=tcp-wrapper.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcp-wrapper.cjs","sources":["../src/types.ts","../src/tcp-wrapper.ts"],"sourcesContent":[null,null],"names":["createConnection"],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export function augmentWebsocket(webSocket, debug) {
|
|
|
17
17
|
debug(`Discarded socket (#${id}) closed after ${delay}ms, with code/reason: ${closeEvent.code}/${closeEvent.reason}`);
|
|
18
18
|
};
|
|
19
19
|
this.close();
|
|
20
|
-
origOnClose
|
|
20
|
+
origOnClose?.call(webSocket, {
|
|
21
21
|
code: 4001,
|
|
22
22
|
reason: `Quick discarding socket (#${id}) without waiting for the shutdown sequence.`,
|
|
23
23
|
wasClean: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"augment-websocket.js","sourceRoot":"","sources":["../src/augment-websocket.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAuB,EACvB,KAA4B;IAE5B,SAAS,CAAC,SAAS,GAAG;QACpB,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAEtB,6BAA6B;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAEtE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjC,8CAA8C;QAC9C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAClD,KAAK,CACH,sBAAsB,EAAE,mBAAmB,KAAK,yBAAyB,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,CAChH,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,WAAW,
|
|
1
|
+
{"version":3,"file":"augment-websocket.js","sourceRoot":"","sources":["../src/augment-websocket.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAuB,EACvB,KAA4B;IAE5B,SAAS,CAAC,SAAS,GAAG;QACpB,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAEtB,6BAA6B;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB;QAEtE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAEjC,8CAA8C;QAC9C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;YAClD,KAAK,CACH,sBAAsB,EAAE,mBAAmB,KAAK,yBAAyB,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,CAChH,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,6BAA6B,EAAE,8CAA8C;YACrF,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
package/esm6/client.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ITransaction } from './i-transaction';
|
|
2
|
-
import { StompConfig } from './stomp-config';
|
|
3
|
-
import { StompHeaders } from './stomp-headers';
|
|
4
|
-
import { StompSubscription } from './stomp-subscription';
|
|
5
|
-
import { ActivationState, closeEventCallbackType, debugFnType, frameCallbackType, IPublishParams, IStompSocket, messageCallbackType, wsErrorCallbackType } from './types';
|
|
6
|
-
import { Versions } from './versions';
|
|
1
|
+
import { ITransaction } from './i-transaction.js';
|
|
2
|
+
import { StompConfig } from './stomp-config.js';
|
|
3
|
+
import { StompHeaders } from './stomp-headers.js';
|
|
4
|
+
import { StompSubscription } from './stomp-subscription.js';
|
|
5
|
+
import { ActivationState, closeEventCallbackType, debugFnType, frameCallbackType, IPublishParams, IStompSocket, messageCallbackType, wsErrorCallbackType } from './types.js';
|
|
6
|
+
import { Versions } from './versions.js';
|
|
7
7
|
/**
|
|
8
8
|
* STOMP Client Class.
|
|
9
9
|
*
|
|
@@ -22,12 +22,12 @@ export declare class Client {
|
|
|
22
22
|
*/
|
|
23
23
|
brokerURL: string | undefined;
|
|
24
24
|
/**
|
|
25
|
-
* STOMP versions to attempt during STOMP handshake. By default versions `1.
|
|
25
|
+
* STOMP versions to attempt during STOMP handshake. By default, versions `1.2`, `1.1`, and `1.0` are attempted.
|
|
26
26
|
*
|
|
27
27
|
* Example:
|
|
28
28
|
* ```javascript
|
|
29
|
-
* // Try only versions 1.
|
|
30
|
-
* client.stompVersions = new Versions(['1.
|
|
29
|
+
* // Try only versions 1.1 and 1.0
|
|
30
|
+
* client.stompVersions = new Versions(['1.1', '1.0'])
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
stompVersions: Versions;
|
|
@@ -55,7 +55,7 @@ export declare class Client {
|
|
|
55
55
|
webSocketFactory: (() => IStompSocket) | undefined;
|
|
56
56
|
/**
|
|
57
57
|
* Will retry if Stomp connection is not established in specified milliseconds.
|
|
58
|
-
* Default 0, which
|
|
58
|
+
* Default 0, which switches off automatic reconnection.
|
|
59
59
|
*/
|
|
60
60
|
connectionTimeout: number;
|
|
61
61
|
private _connectionWatcher;
|
|
@@ -72,13 +72,13 @@ export declare class Client {
|
|
|
72
72
|
*/
|
|
73
73
|
heartbeatOutgoing: number;
|
|
74
74
|
/**
|
|
75
|
-
* This switches on a non
|
|
75
|
+
* This switches on a non-standard behavior while sending WebSocket packets.
|
|
76
76
|
* It splits larger (text) packets into chunks of [maxWebSocketChunkSize]{@link Client#maxWebSocketChunkSize}.
|
|
77
|
-
* Only Java Spring brokers
|
|
77
|
+
* Only Java Spring brokers seem to support this mode.
|
|
78
78
|
*
|
|
79
79
|
* WebSockets, by itself, split large (text) packets,
|
|
80
80
|
* so it is not needed with a truly compliant STOMP/WebSocket broker.
|
|
81
|
-
*
|
|
81
|
+
* Setting it for such a broker will cause large messages to fail.
|
|
82
82
|
*
|
|
83
83
|
* `false` by default.
|
|
84
84
|
*
|
|
@@ -142,30 +142,30 @@ export declare class Client {
|
|
|
142
142
|
* Prefer using [Client#watchForReceipt]{@link Client#watchForReceipt}. See
|
|
143
143
|
* [Client#watchForReceipt]{@link Client#watchForReceipt} for examples.
|
|
144
144
|
*
|
|
145
|
-
* The actual {@link
|
|
145
|
+
* The actual {@link IFrame} will be passed as parameter to the callback.
|
|
146
146
|
*/
|
|
147
147
|
onUnhandledReceipt: frameCallbackType;
|
|
148
148
|
/**
|
|
149
|
-
* Will be invoked if {@link
|
|
149
|
+
* Will be invoked if {@link IFrame} of an unknown type is received from the STOMP broker.
|
|
150
150
|
*
|
|
151
151
|
* The actual {@link IFrame} will be passed as parameter to the callback.
|
|
152
152
|
*/
|
|
153
153
|
onUnhandledFrame: frameCallbackType;
|
|
154
154
|
/**
|
|
155
|
-
* `true` if there is
|
|
155
|
+
* `true` if there is an active connection to STOMP Broker
|
|
156
156
|
*/
|
|
157
157
|
get connected(): boolean;
|
|
158
158
|
/**
|
|
159
|
-
* Callback, invoked on before a connection
|
|
159
|
+
* Callback, invoked on before a connection to the STOMP broker.
|
|
160
160
|
*
|
|
161
|
-
* You can change options on the client, which will impact the immediate
|
|
161
|
+
* You can change options on the client, which will impact the immediate connecting.
|
|
162
162
|
* It is valid to call [Client#decativate]{@link Client#deactivate} in this callback.
|
|
163
163
|
*
|
|
164
164
|
* As of version 5.1, this callback can be
|
|
165
165
|
* [async](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function)
|
|
166
166
|
* (i.e., it can return a
|
|
167
167
|
* [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)).
|
|
168
|
-
* In that case connect will be called only after the Promise is resolved.
|
|
168
|
+
* In that case, connect will be called only after the Promise is resolved.
|
|
169
169
|
* This can be used to reliably fetch credentials, access token etc. from some other service
|
|
170
170
|
* in an asynchronous way.
|
|
171
171
|
*/
|
|
@@ -173,7 +173,7 @@ export declare class Client {
|
|
|
173
173
|
/**
|
|
174
174
|
* Callback, invoked on every successful connection to the STOMP broker.
|
|
175
175
|
*
|
|
176
|
-
* The actual {@link
|
|
176
|
+
* The actual {@link IFrame} will be passed as parameter to the callback.
|
|
177
177
|
* Sometimes clients will like to use headers from this frame.
|
|
178
178
|
*/
|
|
179
179
|
onConnect: frameCallbackType;
|
|
@@ -181,10 +181,10 @@ export declare class Client {
|
|
|
181
181
|
* Callback, invoked on every successful disconnection from the STOMP broker. It will not be invoked if
|
|
182
182
|
* the STOMP broker disconnected due to an error.
|
|
183
183
|
*
|
|
184
|
-
* The actual Receipt {@link
|
|
184
|
+
* The actual Receipt {@link IFrame} acknowledging the DISCONNECT will be passed as parameter to the callback.
|
|
185
185
|
*
|
|
186
186
|
* The way STOMP protocol is designed, the connection may close/terminate without the client
|
|
187
|
-
* receiving the Receipt {@link
|
|
187
|
+
* receiving the Receipt {@link IFrame} acknowledging the DISCONNECT.
|
|
188
188
|
* You might find [Client#onWebSocketClose]{@link Client#onWebSocketClose} more appropriate to watch
|
|
189
189
|
* STOMP broker disconnects.
|
|
190
190
|
*/
|
|
@@ -215,7 +215,7 @@ export declare class Client {
|
|
|
215
215
|
* Set it to log the actual raw communication with the broker.
|
|
216
216
|
* When unset, it logs headers of the parsed frames.
|
|
217
217
|
*
|
|
218
|
-
*
|
|
218
|
+
* Changes effect from the next broker reconnect.
|
|
219
219
|
*
|
|
220
220
|
* **Caution: this assumes that frames only have valid UTF8 strings.**
|
|
221
221
|
*/
|
|
@@ -229,15 +229,18 @@ export declare class Client {
|
|
|
229
229
|
* };
|
|
230
230
|
* ```
|
|
231
231
|
*
|
|
232
|
-
* Currently this method does not support levels of log. Be aware that the
|
|
232
|
+
* Currently this method does not support levels of log. Be aware that the
|
|
233
|
+
* output can be quite verbose
|
|
233
234
|
* and may contain sensitive information (like passwords, tokens etc.).
|
|
234
235
|
*/
|
|
235
236
|
debug: debugFnType;
|
|
236
237
|
/**
|
|
237
238
|
* Browsers do not immediately close WebSockets when `.close` is issued.
|
|
238
|
-
* This may cause reconnection to take a
|
|
239
|
-
*
|
|
240
|
-
*
|
|
239
|
+
* This may cause reconnection to take a significantly long time in case
|
|
240
|
+
* of some types of failures.
|
|
241
|
+
* In case of incoming heartbeat failure, this experimental flag instructs
|
|
242
|
+
* the library to discard the socket immediately
|
|
243
|
+
* (even before it is actually closed).
|
|
241
244
|
*/
|
|
242
245
|
discardWebsocketOnCommFailure: boolean;
|
|
243
246
|
/**
|
|
@@ -252,7 +255,7 @@ export declare class Client {
|
|
|
252
255
|
/**
|
|
253
256
|
* It will be called on state change.
|
|
254
257
|
*
|
|
255
|
-
* When deactivating it may go from ACTIVE to INACTIVE without entering DEACTIVATING.
|
|
258
|
+
* When deactivating, it may go from ACTIVE to INACTIVE without entering DEACTIVATING.
|
|
256
259
|
*/
|
|
257
260
|
onChangeState: (state: ActivationState) => void;
|
|
258
261
|
private _changeState;
|
|
@@ -260,7 +263,7 @@ export declare class Client {
|
|
|
260
263
|
* Activation state.
|
|
261
264
|
*
|
|
262
265
|
* It will usually be ACTIVE or INACTIVE.
|
|
263
|
-
* When deactivating it may go from ACTIVE to INACTIVE without entering DEACTIVATING.
|
|
266
|
+
* When deactivating, it may go from ACTIVE to INACTIVE without entering DEACTIVATING.
|
|
264
267
|
*/
|
|
265
268
|
state: ActivationState;
|
|
266
269
|
private _reconnector;
|
|
@@ -297,7 +300,8 @@ export declare class Client {
|
|
|
297
300
|
*
|
|
298
301
|
* Experimental: pass `force: true` to immediately discard the underlying connection.
|
|
299
302
|
* This mode will skip both the STOMP and the Websocket shutdown sequences.
|
|
300
|
-
* In some cases, browsers take a long time in the Websocket shutdown
|
|
303
|
+
* In some cases, browsers take a long time in the Websocket shutdown
|
|
304
|
+
* if the underlying connection had gone stale.
|
|
301
305
|
* Using this mode can speed up.
|
|
302
306
|
* When this mode is used, the actual Websocket may linger for a while
|
|
303
307
|
* and the broker may not realize that the connection is no longer in use.
|
|
@@ -310,7 +314,7 @@ export declare class Client {
|
|
|
310
314
|
}): Promise<void>;
|
|
311
315
|
/**
|
|
312
316
|
* Force disconnect if there is an active connection by directly closing the underlying WebSocket.
|
|
313
|
-
* This is different
|
|
317
|
+
* This is different from a normal disconnect where a DISCONNECT sequence is carried out with the broker.
|
|
314
318
|
* After forcing disconnect, automatic reconnect will be attempted.
|
|
315
319
|
* To stop further reconnects call [Client#deactivate]{@link Client#deactivate} as well.
|
|
316
320
|
*/
|
|
@@ -320,22 +324,22 @@ export declare class Client {
|
|
|
320
324
|
* Send a message to a named destination. Refer to your STOMP broker documentation for types
|
|
321
325
|
* and naming of destinations.
|
|
322
326
|
*
|
|
323
|
-
* STOMP protocol specifies and suggests some headers and also allows broker
|
|
327
|
+
* STOMP protocol specifies and suggests some headers and also allows broker-specific headers.
|
|
324
328
|
*
|
|
325
329
|
* `body` must be String.
|
|
326
330
|
* You will need to covert the payload to string in case it is not string (e.g. JSON).
|
|
327
331
|
*
|
|
328
|
-
* To send a binary message body use binaryBody parameter. It should be a
|
|
332
|
+
* To send a binary message body, use `binaryBody` parameter. It should be a
|
|
329
333
|
* [Uint8Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array).
|
|
330
334
|
* Sometimes brokers may not support binary frames out of the box.
|
|
331
335
|
* Please check your broker documentation.
|
|
332
336
|
*
|
|
333
337
|
* `content-length` header is automatically added to the STOMP Frame sent to the broker.
|
|
334
338
|
* Set `skipContentLengthHeader` to indicate that `content-length` header should not be added.
|
|
335
|
-
* For binary messages `content-length` header is always added.
|
|
339
|
+
* For binary messages, `content-length` header is always added.
|
|
336
340
|
*
|
|
337
|
-
* Caution: The broker will, most likely, report an error and disconnect
|
|
338
|
-
* and `content-length` header is missing.
|
|
341
|
+
* Caution: The broker will, most likely, report an error and disconnect
|
|
342
|
+
* if the message body has NULL octet(s) and `content-length` header is missing.
|
|
339
343
|
*
|
|
340
344
|
* ```javascript
|
|
341
345
|
* client.publish({destination: "/queue/test", headers: {priority: 9}, body: "Hello, STOMP"});
|
|
@@ -357,16 +361,16 @@ export declare class Client {
|
|
|
357
361
|
/**
|
|
358
362
|
* STOMP brokers may carry out operation asynchronously and allow requesting for acknowledgement.
|
|
359
363
|
* To request an acknowledgement, a `receipt` header needs to be sent with the actual request.
|
|
360
|
-
* The value (say receipt-id) for this header needs to be unique for each use.
|
|
361
|
-
* random number or a combination may be used.
|
|
364
|
+
* The value (say receipt-id) for this header needs to be unique for each use.
|
|
365
|
+
* Typically, a sequence, a UUID, a random number or a combination may be used.
|
|
362
366
|
*
|
|
363
367
|
* A complaint broker will send a RECEIPT frame when an operation has actually been completed.
|
|
364
|
-
* The operation needs to be matched based
|
|
368
|
+
* The operation needs to be matched based on the value of the receipt-id.
|
|
365
369
|
*
|
|
366
|
-
* This method
|
|
367
|
-
*
|
|
370
|
+
* This method allows watching for a receipt and invoking the callback
|
|
371
|
+
* when the corresponding receipt has been received.
|
|
368
372
|
*
|
|
369
|
-
* The actual {@link
|
|
373
|
+
* The actual {@link IFrame} will be passed as parameter to the callback.
|
|
370
374
|
*
|
|
371
375
|
* Example:
|
|
372
376
|
* ```javascript
|
|
@@ -391,11 +395,11 @@ export declare class Client {
|
|
|
391
395
|
*/
|
|
392
396
|
watchForReceipt(receiptId: string, callback: frameCallbackType): void;
|
|
393
397
|
/**
|
|
394
|
-
* Subscribe to a STOMP Broker location. The callback will be invoked for each
|
|
395
|
-
* the {@link IMessage} as argument.
|
|
398
|
+
* Subscribe to a STOMP Broker location. The callback will be invoked for each
|
|
399
|
+
* received message with the {@link IMessage} as argument.
|
|
396
400
|
*
|
|
397
|
-
* Note: The library will generate
|
|
398
|
-
* To use your own ID, pass it using the headers argument.
|
|
401
|
+
* Note: The library will generate a unique ID if there is none provided in the headers.
|
|
402
|
+
* To use your own ID, pass it using the `headers` argument.
|
|
399
403
|
*
|
|
400
404
|
* ```javascript
|
|
401
405
|
* callback = function(message) {
|
|
@@ -425,7 +429,7 @@ export declare class Client {
|
|
|
425
429
|
* subscription.unsubscribe();
|
|
426
430
|
* ```
|
|
427
431
|
*
|
|
428
|
-
* See:
|
|
432
|
+
* See: https://stomp.github.com/stomp-specification-1.2.html#UNSUBSCRIBE UNSUBSCRIBE Frame
|
|
429
433
|
*/
|
|
430
434
|
unsubscribe(id: string, headers?: StompHeaders): void;
|
|
431
435
|
/**
|