var __getOwnPropNames = Object.getOwnPropertyNames; var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); var __commonJS = (cb, mod) => function __require2() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; // dist/sockjs.js var require_sockjs = __commonJS({ "dist/sockjs.js"(exports, module) { (function(f) { if (typeof exports === "object" && typeof module !== "undefined") { module.exports = f(); } else if (typeof define === "function" && define.amd) { define([], f); } else { var g; if (typeof window !== "undefined") { g = window; } else if (typeof global !== "undefined") { g = global; } else if (typeof self !== "undefined") { g = self; } else { g = this; } g.SockJS = f(); } })(function() { var define2, module2, exports2; return function() { function r(e, n, t) { function o(i2, f) { if (!n[i2]) { if (!e[i2]) { var c = "function" == typeof __require && __require; if (!f && c) return c(i2, true); if (u) return u(i2, true); var a = new Error("Cannot find module '" + i2 + "'"); throw a.code = "MODULE_NOT_FOUND", a; } var p = n[i2] = { exports: {} }; e[i2][0].call(p.exports, function(r2) { var n2 = e[i2][1][r2]; return o(n2 || r2); }, p, p.exports, r, e, n, t); } return n[i2].exports; } for (var u = "function" == typeof __require && __require, i = 0; i < t.length; i++) o(t[i]); return o; } return r; }()({ 1: [function(require2, module3, exports3) { (function(global2) { (function() { "use strict"; var transportList = require2("./transport-list"); module3.exports = require2("./main")(transportList); if ("_sockjs_onload" in global2) { setTimeout(global2._sockjs_onload, 1); } }).call(this); }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "./main": 14, "./transport-list": 16 }], 2: [function(require2, module3, exports3) { "use strict"; var inherits = require2("inherits"), Event = require2("./event"); function CloseEvent() { Event.call(this); this.initEvent("close", false, false); this.wasClean = false; this.code = 0; this.reason = ""; } inherits(CloseEvent, Event); module3.exports = CloseEvent; }, { "./event": 4, "inherits": 57 }], 3: [function(require2, module3, exports3) { "use strict"; var inherits = require2("inherits"), EventTarget = require2("./eventtarget"); function EventEmitter() { EventTarget.call(this); } inherits(EventEmitter, EventTarget); EventEmitter.prototype.removeAllListeners = function(type) { if (type) { delete this._listeners[type]; } else { this._listeners = {}; } }; EventEmitter.prototype.once = function(type, listener) { var self2 = this, fired = false; function g() { self2.removeListener(type, g); if (!fired) { fired = true; listener.apply(this, arguments); } } this.on(type, g); }; EventEmitter.prototype.emit = function() { var type = arguments[0]; var listeners = this._listeners[type]; if (!listeners) { return; } var l = arguments.length; var args = new Array(l - 1); for (var ai = 1; ai < l; ai++) { args[ai - 1] = arguments[ai]; } for (var i = 0; i < listeners.length; i++) { listeners[i].apply(this, args); } }; EventEmitter.prototype.on = EventEmitter.prototype.addListener = EventTarget.prototype.addEventListener; EventEmitter.prototype.removeListener = EventTarget.prototype.removeEventListener; module3.exports.EventEmitter = EventEmitter; }, { "./eventtarget": 5, "inherits": 57 }], 4: [function(require2, module3, exports3) { "use strict"; function Event(eventType) { this.type = eventType; } Event.prototype.initEvent = function(eventType, canBubble, cancelable) { this.type = eventType; this.bubbles = canBubble; this.cancelable = cancelable; this.timeStamp = +/* @__PURE__ */ new Date(); return this; }; Event.prototype.stopPropagation = function() { }; Event.prototype.preventDefault = function() { }; Event.CAPTURING_PHASE = 1; Event.AT_TARGET = 2; Event.BUBBLING_PHASE = 3; module3.exports = Event; }, {}], 5: [function(require2, module3, exports3) { "use strict"; function EventTarget() { this._listeners = {}; } EventTarget.prototype.addEventListener = function(eventType, listener) { if (!(eventType in this._listeners)) { this._listeners[eventType] = []; } var arr = this._listeners[eventType]; if (arr.indexOf(listener) === -1) { arr = arr.concat([listener]); } this._listeners[eventType] = arr; }; EventTarget.prototype.removeEventListener = function(eventType, listener) { var arr = this._listeners[eventType]; if (!arr) { return; } var idx = arr.indexOf(listener); if (idx !== -1) { if (arr.length > 1) { this._listeners[eventType] = arr.slice(0, idx).concat(arr.slice(idx + 1)); } else { delete this._listeners[eventType]; } return; } }; EventTarget.prototype.dispatchEvent = function() { var event = arguments[0]; var t = event.type; var args = arguments.length === 1 ? [event] : Array.apply(null, arguments); if (this["on" + t]) { this["on" + t].apply(this, args); } if (t in this._listeners) { var listeners = this._listeners[t]; for (var i = 0; i < listeners.length; i++) { listeners[i].apply(this, args); } } }; module3.exports = EventTarget; }, {}], 6: [function(require2, module3, exports3) { "use strict"; var inherits = require2("inherits"), Event = require2("./event"); function TransportMessageEvent(data) { Event.call(this); this.initEvent("message", false, false); this.data = data; } inherits(TransportMessageEvent, Event); module3.exports = TransportMessageEvent; }, { "./event": 4, "inherits": 57 }], 7: [function(require2, module3, exports3) { "use strict"; var iframeUtils = require2("./utils/iframe"); function FacadeJS(transport) { this._transport = transport; transport.on("message", this._transportMessage.bind(this)); transport.on("close", this._transportClose.bind(this)); } FacadeJS.prototype._transportClose = function(code, reason) { iframeUtils.postMessage("c", JSON.stringify([code, reason])); }; FacadeJS.prototype._transportMessage = function(frame) { iframeUtils.postMessage("t", frame); }; FacadeJS.prototype._send = function(data) { this._transport.send(data); }; FacadeJS.prototype._close = function() { this._transport.close(); this._transport.removeAllListeners(); }; module3.exports = FacadeJS; }, { "./utils/iframe": 47 }], 8: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var urlUtils = require2("./utils/url"), eventUtils = require2("./utils/event"), FacadeJS = require2("./facade"), InfoIframeReceiver = require2("./info-iframe-receiver"), iframeUtils = require2("./utils/iframe"), loc = require2("./location"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:iframe-bootstrap"); } module3.exports = function(SockJS, availableTransports) { var transportMap = {}; availableTransports.forEach(function(at) { if (at.facadeTransport) { transportMap[at.facadeTransport.transportName] = at.facadeTransport; } }); transportMap[InfoIframeReceiver.transportName] = InfoIframeReceiver; var parentOrigin; SockJS.bootstrap_iframe = function() { var facade; iframeUtils.currentWindowId = loc.hash.slice(1); var onMessage = function(e) { if (e.source !== parent) { return; } if (typeof parentOrigin === "undefined") { parentOrigin = e.origin; } if (e.origin !== parentOrigin) { return; } var iframeMessage; try { iframeMessage = JSON.parse(e.data); } catch (ignored) { debug("bad json", e.data); return; } if (iframeMessage.windowId !== iframeUtils.currentWindowId) { return; } switch (iframeMessage.type) { case "s": var p; try { p = JSON.parse(iframeMessage.data); } catch (ignored) { debug("bad json", iframeMessage.data); break; } var version = p[0]; var transport = p[1]; var transUrl = p[2]; var baseUrl = p[3]; debug(version, transport, transUrl, baseUrl); if (version !== SockJS.version) { throw new Error('Incompatible SockJS! Main site uses: "' + version + '", the iframe: "' + SockJS.version + '".'); } if (!urlUtils.isOriginEqual(transUrl, loc.href) || !urlUtils.isOriginEqual(baseUrl, loc.href)) { throw new Error("Can't connect to different domain from within an iframe. (" + loc.href + ", " + transUrl + ", " + baseUrl + ")"); } facade = new FacadeJS(new transportMap[transport](transUrl, baseUrl)); break; case "m": facade._send(iframeMessage.data); break; case "c": if (facade) { facade._close(); } facade = null; break; } }; eventUtils.attachEvent("message", onMessage); iframeUtils.postMessage("s"); }; }; }).call(this); }).call(this, { env: {} }); }, { "./facade": 7, "./info-iframe-receiver": 10, "./location": 13, "./utils/event": 46, "./utils/iframe": 47, "./utils/url": 52, "debug": 55 }], 9: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var EventEmitter = require2("events").EventEmitter, inherits = require2("inherits"), objectUtils = require2("./utils/object"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:info-ajax"); } function InfoAjax(url, AjaxObject) { EventEmitter.call(this); var self2 = this; var t0 = +/* @__PURE__ */ new Date(); this.xo = new AjaxObject("GET", url); this.xo.once("finish", function(status, text) { var info, rtt; if (status === 200) { rtt = +/* @__PURE__ */ new Date() - t0; if (text) { try { info = JSON.parse(text); } catch (e) { debug("bad json", text); } } if (!objectUtils.isObject(info)) { info = {}; } } self2.emit("finish", info, rtt); self2.removeAllListeners(); }); } inherits(InfoAjax, EventEmitter); InfoAjax.prototype.close = function() { this.removeAllListeners(); this.xo.close(); }; module3.exports = InfoAjax; }).call(this); }).call(this, { env: {} }); }, { "./utils/object": 49, "debug": 55, "events": 3, "inherits": 57 }], 10: [function(require2, module3, exports3) { "use strict"; var inherits = require2("inherits"), EventEmitter = require2("events").EventEmitter, XHRLocalObject = require2("./transport/sender/xhr-local"), InfoAjax = require2("./info-ajax"); function InfoReceiverIframe(transUrl) { var self2 = this; EventEmitter.call(this); this.ir = new InfoAjax(transUrl, XHRLocalObject); this.ir.once("finish", function(info, rtt) { self2.ir = null; self2.emit("message", JSON.stringify([info, rtt])); }); } inherits(InfoReceiverIframe, EventEmitter); InfoReceiverIframe.transportName = "iframe-info-receiver"; InfoReceiverIframe.prototype.close = function() { if (this.ir) { this.ir.close(); this.ir = null; } this.removeAllListeners(); }; module3.exports = InfoReceiverIframe; }, { "./info-ajax": 9, "./transport/sender/xhr-local": 37, "events": 3, "inherits": 57 }], 11: [function(require2, module3, exports3) { (function(process, global2) { (function() { "use strict"; var EventEmitter = require2("events").EventEmitter, inherits = require2("inherits"), utils = require2("./utils/event"), IframeTransport = require2("./transport/iframe"), InfoReceiverIframe = require2("./info-iframe-receiver"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:info-iframe"); } function InfoIframe(baseUrl, url) { var self2 = this; EventEmitter.call(this); var go = function() { var ifr = self2.ifr = new IframeTransport(InfoReceiverIframe.transportName, url, baseUrl); ifr.once("message", function(msg) { if (msg) { var d; try { d = JSON.parse(msg); } catch (e) { debug("bad json", msg); self2.emit("finish"); self2.close(); return; } var info = d[0], rtt = d[1]; self2.emit("finish", info, rtt); } self2.close(); }); ifr.once("close", function() { self2.emit("finish"); self2.close(); }); }; if (!global2.document.body) { utils.attachEvent("load", go); } else { go(); } } inherits(InfoIframe, EventEmitter); InfoIframe.enabled = function() { return IframeTransport.enabled(); }; InfoIframe.prototype.close = function() { if (this.ifr) { this.ifr.close(); } this.removeAllListeners(); this.ifr = null; }; module3.exports = InfoIframe; }).call(this); }).call(this, { env: {} }, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "./info-iframe-receiver": 10, "./transport/iframe": 22, "./utils/event": 46, "debug": 55, "events": 3, "inherits": 57 }], 12: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var EventEmitter = require2("events").EventEmitter, inherits = require2("inherits"), urlUtils = require2("./utils/url"), XDR = require2("./transport/sender/xdr"), XHRCors = require2("./transport/sender/xhr-cors"), XHRLocal = require2("./transport/sender/xhr-local"), XHRFake = require2("./transport/sender/xhr-fake"), InfoIframe = require2("./info-iframe"), InfoAjax = require2("./info-ajax"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:info-receiver"); } function InfoReceiver(baseUrl, urlInfo) { debug(baseUrl); var self2 = this; EventEmitter.call(this); setTimeout(function() { self2.doXhr(baseUrl, urlInfo); }, 0); } inherits(InfoReceiver, EventEmitter); InfoReceiver._getReceiver = function(baseUrl, url, urlInfo) { if (urlInfo.sameOrigin) { return new InfoAjax(url, XHRLocal); } if (XHRCors.enabled) { return new InfoAjax(url, XHRCors); } if (XDR.enabled && urlInfo.sameScheme) { return new InfoAjax(url, XDR); } if (InfoIframe.enabled()) { return new InfoIframe(baseUrl, url); } return new InfoAjax(url, XHRFake); }; InfoReceiver.prototype.doXhr = function(baseUrl, urlInfo) { var self2 = this, url = urlUtils.addPath(baseUrl, "/info"); debug("doXhr", url); this.xo = InfoReceiver._getReceiver(baseUrl, url, urlInfo); this.timeoutRef = setTimeout(function() { debug("timeout"); self2._cleanup(false); self2.emit("finish"); }, InfoReceiver.timeout); this.xo.once("finish", function(info, rtt) { debug("finish", info, rtt); self2._cleanup(true); self2.emit("finish", info, rtt); }); }; InfoReceiver.prototype._cleanup = function(wasClean) { debug("_cleanup"); clearTimeout(this.timeoutRef); this.timeoutRef = null; if (!wasClean && this.xo) { this.xo.close(); } this.xo = null; }; InfoReceiver.prototype.close = function() { debug("close"); this.removeAllListeners(); this._cleanup(false); }; InfoReceiver.timeout = 8e3; module3.exports = InfoReceiver; }).call(this); }).call(this, { env: {} }); }, { "./info-ajax": 9, "./info-iframe": 11, "./transport/sender/xdr": 34, "./transport/sender/xhr-cors": 35, "./transport/sender/xhr-fake": 36, "./transport/sender/xhr-local": 37, "./utils/url": 52, "debug": 55, "events": 3, "inherits": 57 }], 13: [function(require2, module3, exports3) { (function(global2) { (function() { "use strict"; module3.exports = global2.location || { origin: "http://localhost:80", protocol: "http:", host: "localhost", port: 80, href: "http://localhost/", hash: "" }; }).call(this); }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, {}], 14: [function(require2, module3, exports3) { (function(process, global2) { (function() { "use strict"; require2("./shims"); var URL = require2("url-parse"), inherits = require2("inherits"), random = require2("./utils/random"), escape = require2("./utils/escape"), urlUtils = require2("./utils/url"), eventUtils = require2("./utils/event"), transport = require2("./utils/transport"), objectUtils = require2("./utils/object"), browser = require2("./utils/browser"), log = require2("./utils/log"), Event = require2("./event/event"), EventTarget = require2("./event/eventtarget"), loc = require2("./location"), CloseEvent = require2("./event/close"), TransportMessageEvent = require2("./event/trans-message"), InfoReceiver = require2("./info-receiver"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:main"); } var transports; function SockJS(url, protocols, options) { if (!(this instanceof SockJS)) { return new SockJS(url, protocols, options); } if (arguments.length < 1) { throw new TypeError("Failed to construct 'SockJS: 1 argument required, but only 0 present"); } EventTarget.call(this); this.readyState = SockJS.CONNECTING; this.extensions = ""; this.protocol = ""; options = options || {}; if (options.protocols_whitelist) { log.warn("'protocols_whitelist' is DEPRECATED. Use 'transports' instead."); } this._transportsWhitelist = options.transports; this._transportOptions = options.transportOptions || {}; this._timeout = options.timeout || 0; var sessionId = options.sessionId || 8; if (typeof sessionId === "function") { this._generateSessionId = sessionId; } else if (typeof sessionId === "number") { this._generateSessionId = function() { return random.string(sessionId); }; } else { throw new TypeError("If sessionId is used in the options, it needs to be a number or a function."); } this._server = options.server || random.numberString(1e3); var parsedUrl = new URL(url); if (!parsedUrl.host || !parsedUrl.protocol) { throw new SyntaxError("The URL '" + url + "' is invalid"); } else if (parsedUrl.hash) { throw new SyntaxError("The URL must not contain a fragment"); } else if (parsedUrl.protocol !== "http:" && parsedUrl.protocol !== "https:") { throw new SyntaxError("The URL's scheme must be either 'http:' or 'https:'. '" + parsedUrl.protocol + "' is not allowed."); } var secure = parsedUrl.protocol === "https:"; if (loc.protocol === "https:" && !secure) { if (!urlUtils.isLoopbackAddr(parsedUrl.hostname)) { throw new Error("SecurityError: An insecure SockJS connection may not be initiated from a page loaded over HTTPS"); } } if (!protocols) { protocols = []; } else if (!Array.isArray(protocols)) { protocols = [protocols]; } var sortedProtocols = protocols.sort(); sortedProtocols.forEach(function(proto, i) { if (!proto) { throw new SyntaxError("The protocols entry '" + proto + "' is invalid."); } if (i < sortedProtocols.length - 1 && proto === sortedProtocols[i + 1]) { throw new SyntaxError("The protocols entry '" + proto + "' is duplicated."); } }); var o = urlUtils.getOrigin(loc.href); this._origin = o ? o.toLowerCase() : null; parsedUrl.set("pathname", parsedUrl.pathname.replace(/\/+$/, "")); this.url = parsedUrl.href; debug("using url", this.url); this._urlInfo = { nullOrigin: !browser.hasDomain(), sameOrigin: urlUtils.isOriginEqual(this.url, loc.href), sameScheme: urlUtils.isSchemeEqual(this.url, loc.href) }; this._ir = new InfoReceiver(this.url, this._urlInfo); this._ir.once("finish", this._receiveInfo.bind(this)); } inherits(SockJS, EventTarget); function userSetCode(code) { return code === 1e3 || code >= 3e3 && code <= 4999; } SockJS.prototype.close = function(code, reason) { if (code && !userSetCode(code)) { throw new Error("InvalidAccessError: Invalid code"); } if (reason && reason.length > 123) { throw new SyntaxError("reason argument has an invalid length"); } if (this.readyState === SockJS.CLOSING || this.readyState === SockJS.CLOSED) { return; } var wasClean = true; this._close(code || 1e3, reason || "Normal closure", wasClean); }; SockJS.prototype.send = function(data) { if (typeof data !== "string") { data = "" + data; } if (this.readyState === SockJS.CONNECTING) { throw new Error("InvalidStateError: The connection has not been established yet"); } if (this.readyState !== SockJS.OPEN) { return; } this._transport.send(escape.quote(data)); }; SockJS.version = require2("./version"); SockJS.CONNECTING = 0; SockJS.OPEN = 1; SockJS.CLOSING = 2; SockJS.CLOSED = 3; SockJS.prototype._receiveInfo = function(info, rtt) { debug("_receiveInfo", rtt); this._ir = null; if (!info) { this._close(1002, "Cannot connect to server"); return; } this._rto = this.countRTO(rtt); this._transUrl = info.base_url ? info.base_url : this.url; info = objectUtils.extend(info, this._urlInfo); debug("info", info); var enabledTransports = transports.filterToEnabled(this._transportsWhitelist, info); this._transports = enabledTransports.main; debug(this._transports.length + " enabled transports"); this._connect(); }; SockJS.prototype._connect = function() { for (var Transport = this._transports.shift(); Transport; Transport = this._transports.shift()) { debug("attempt", Transport.transportName); if (Transport.needBody) { if (!global2.document.body || typeof global2.document.readyState !== "undefined" && global2.document.readyState !== "complete" && global2.document.readyState !== "interactive") { debug("waiting for body"); this._transports.unshift(Transport); eventUtils.attachEvent("load", this._connect.bind(this)); return; } } var timeoutMs = Math.max(this._timeout, this._rto * Transport.roundTrips || 5e3); this._transportTimeoutId = setTimeout(this._transportTimeout.bind(this), timeoutMs); debug("using timeout", timeoutMs); var transportUrl = urlUtils.addPath(this._transUrl, "/" + this._server + "/" + this._generateSessionId()); var options = this._transportOptions[Transport.transportName]; debug("transport url", transportUrl); var transportObj = new Transport(transportUrl, this._transUrl, options); transportObj.on("message", this._transportMessage.bind(this)); transportObj.once("close", this._transportClose.bind(this)); transportObj.transportName = Transport.transportName; this._transport = transportObj; return; } this._close(2e3, "All transports failed", false); }; SockJS.prototype._transportTimeout = function() { debug("_transportTimeout"); if (this.readyState === SockJS.CONNECTING) { if (this._transport) { this._transport.close(); } this._transportClose(2007, "Transport timed out"); } }; SockJS.prototype._transportMessage = function(msg) { debug("_transportMessage", msg); var self2 = this, type = msg.slice(0, 1), content = msg.slice(1), payload; switch (type) { case "o": this._open(); return; case "h": this.dispatchEvent(new Event("heartbeat")); debug("heartbeat", this.transport); return; } if (content) { try { payload = JSON.parse(content); } catch (e) { debug("bad json", content); } } if (typeof payload === "undefined") { debug("empty payload", content); return; } switch (type) { case "a": if (Array.isArray(payload)) { payload.forEach(function(p) { debug("message", self2.transport, p); self2.dispatchEvent(new TransportMessageEvent(p)); }); } break; case "m": debug("message", this.transport, payload); this.dispatchEvent(new TransportMessageEvent(payload)); break; case "c": if (Array.isArray(payload) && payload.length === 2) { this._close(payload[0], payload[1], true); } break; } }; SockJS.prototype._transportClose = function(code, reason) { debug("_transportClose", this.transport, code, reason); if (this._transport) { this._transport.removeAllListeners(); this._transport = null; this.transport = null; } if (!userSetCode(code) && code !== 2e3 && this.readyState === SockJS.CONNECTING) { this._connect(); return; } this._close(code, reason); }; SockJS.prototype._open = function() { debug("_open", this._transport && this._transport.transportName, this.readyState); if (this.readyState === SockJS.CONNECTING) { if (this._transportTimeoutId) { clearTimeout(this._transportTimeoutId); this._transportTimeoutId = null; } this.readyState = SockJS.OPEN; this.transport = this._transport.transportName; this.dispatchEvent(new Event("open")); debug("connected", this.transport); } else { this._close(1006, "Server lost session"); } }; SockJS.prototype._close = function(code, reason, wasClean) { debug("_close", this.transport, code, reason, wasClean, this.readyState); var forceFail = false; if (this._ir) { forceFail = true; this._ir.close(); this._ir = null; } if (this._transport) { this._transport.close(); this._transport = null; this.transport = null; } if (this.readyState === SockJS.CLOSED) { throw new Error("InvalidStateError: SockJS has already been closed"); } this.readyState = SockJS.CLOSING; setTimeout(function() { this.readyState = SockJS.CLOSED; if (forceFail) { this.dispatchEvent(new Event("error")); } var e = new CloseEvent("close"); e.wasClean = wasClean || false; e.code = code || 1e3; e.reason = reason; this.dispatchEvent(e); this.onmessage = this.onclose = this.onerror = null; debug("disconnected"); }.bind(this), 0); }; SockJS.prototype.countRTO = function(rtt) { if (rtt > 100) { return 4 * rtt; } return 300 + rtt; }; module3.exports = function(availableTransports) { transports = transport(availableTransports); require2("./iframe-bootstrap")(SockJS, availableTransports); return SockJS; }; }).call(this); }).call(this, { env: {} }, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "./event/close": 2, "./event/event": 4, "./event/eventtarget": 5, "./event/trans-message": 6, "./iframe-bootstrap": 8, "./info-receiver": 12, "./location": 13, "./shims": 15, "./utils/browser": 44, "./utils/escape": 45, "./utils/event": 46, "./utils/log": 48, "./utils/object": 49, "./utils/random": 50, "./utils/transport": 51, "./utils/url": 52, "./version": 53, "debug": 55, "inherits": 57, "url-parse": 60 }], 15: [function(require2, module3, exports3) { "use strict"; var ArrayPrototype = Array.prototype; var ObjectPrototype = Object.prototype; var FunctionPrototype = Function.prototype; var StringPrototype = String.prototype; var array_slice = ArrayPrototype.slice; var _toString = ObjectPrototype.toString; var isFunction = function(val) { return ObjectPrototype.toString.call(val) === "[object Function]"; }; var isArray = function isArray2(obj) { return _toString.call(obj) === "[object Array]"; }; var isString = function isString2(obj) { return _toString.call(obj) === "[object String]"; }; var supportsDescriptors = Object.defineProperty && function() { try { Object.defineProperty({}, "x", {}); return true; } catch (e) { return false; } }(); var defineProperty; if (supportsDescriptors) { defineProperty = function(object, name, method, forceAssign) { if (!forceAssign && name in object) { return; } Object.defineProperty(object, name, { configurable: true, enumerable: false, writable: true, value: method }); }; } else { defineProperty = function(object, name, method, forceAssign) { if (!forceAssign && name in object) { return; } object[name] = method; }; } var defineProperties = function(object, map, forceAssign) { for (var name in map) { if (ObjectPrototype.hasOwnProperty.call(map, name)) { defineProperty(object, name, map[name], forceAssign); } } }; var toObject = function(o) { if (o == null) { throw new TypeError("can't convert " + o + " to object"); } return Object(o); }; function toInteger(num) { var n = +num; if (n !== n) { n = 0; } else if (n !== 0 && n !== 1 / 0 && n !== -(1 / 0)) { n = (n > 0 || -1) * Math.floor(Math.abs(n)); } return n; } function ToUint32(x) { return x >>> 0; } function Empty() { } defineProperties(FunctionPrototype, { bind: function bind(that) { var target = this; if (!isFunction(target)) { throw new TypeError("Function.prototype.bind called on incompatible " + target); } var args = array_slice.call(arguments, 1); var binder = function() { if (this instanceof bound) { var result = target.apply( this, args.concat(array_slice.call(arguments)) ); if (Object(result) === result) { return result; } return this; } else { return target.apply( that, args.concat(array_slice.call(arguments)) ); } }; var boundLength = Math.max(0, target.length - args.length); var boundArgs = []; for (var i = 0; i < boundLength; i++) { boundArgs.push("$" + i); } var bound = Function("binder", "return function (" + boundArgs.join(",") + "){ return binder.apply(this, arguments); }")(binder); if (target.prototype) { Empty.prototype = target.prototype; bound.prototype = new Empty(); Empty.prototype = null; } return bound; } }); defineProperties(Array, { isArray }); var boxedString = Object("a"); var splitString = boxedString[0] !== "a" || !(0 in boxedString); var properlyBoxesContext = function properlyBoxed(method) { var properlyBoxesNonStrict = true; var properlyBoxesStrict = true; if (method) { method.call("foo", function(_, __, context) { if (typeof context !== "object") { properlyBoxesNonStrict = false; } }); method.call([1], function() { "use strict"; properlyBoxesStrict = typeof this === "string"; }, "x"); } return !!method && properlyBoxesNonStrict && properlyBoxesStrict; }; defineProperties(ArrayPrototype, { forEach: function forEach(fun) { var object = toObject(this), self2 = splitString && isString(this) ? this.split("") : object, thisp = arguments[1], i = -1, length = self2.length >>> 0; if (!isFunction(fun)) { throw new TypeError(); } while (++i < length) { if (i in self2) { fun.call(thisp, self2[i], i, object); } } } }, !properlyBoxesContext(ArrayPrototype.forEach)); var hasFirefox2IndexOfBug = Array.prototype.indexOf && [0, 1].indexOf(1, 2) !== -1; defineProperties(ArrayPrototype, { indexOf: function indexOf(sought) { var self2 = splitString && isString(this) ? this.split("") : toObject(this), length = self2.length >>> 0; if (!length) { return -1; } var i = 0; if (arguments.length > 1) { i = toInteger(arguments[1]); } i = i >= 0 ? i : Math.max(0, length + i); for (; i < length; i++) { if (i in self2 && self2[i] === sought) { return i; } } return -1; } }, hasFirefox2IndexOfBug); var string_split = StringPrototype.split; if ("ab".split(/(?:ab)*/).length !== 2 || ".".split(/(.?)(.?)/).length !== 4 || "tesst".split(/(s)*/)[1] === "t" || "test".split(/(?:)/, -1).length !== 4 || "".split(/.?/).length || ".".split(/()()/).length > 1) { (function() { var compliantExecNpcg = /()??/.exec("")[1] === void 0; StringPrototype.split = function(separator, limit) { var string = this; if (separator === void 0 && limit === 0) { return []; } if (_toString.call(separator) !== "[object RegExp]") { return string_split.call(this, separator, limit); } var output = [], flags = (separator.ignoreCase ? "i" : "") + (separator.multiline ? "m" : "") + (separator.extended ? "x" : "") + // Proposed for ES6 (separator.sticky ? "y" : ""), lastLastIndex = 0, separator2, match, lastIndex, lastLength; separator = new RegExp(separator.source, flags + "g"); string += ""; if (!compliantExecNpcg) { separator2 = new RegExp("^" + separator.source + "$(?!\\s)", flags); } limit = limit === void 0 ? -1 >>> 0 : ( // Math.pow(2, 32) - 1 ToUint32(limit) ); while (match = separator.exec(string)) { lastIndex = match.index + match[0].length; if (lastIndex > lastLastIndex) { output.push(string.slice(lastLastIndex, match.index)); if (!compliantExecNpcg && match.length > 1) { match[0].replace(separator2, function() { for (var i = 1; i < arguments.length - 2; i++) { if (arguments[i] === void 0) { match[i] = void 0; } } }); } if (match.length > 1 && match.index < string.length) { ArrayPrototype.push.apply(output, match.slice(1)); } lastLength = match[0].length; lastLastIndex = lastIndex; if (output.length >= limit) { break; } } if (separator.lastIndex === match.index) { separator.lastIndex++; } } if (lastLastIndex === string.length) { if (lastLength || !separator.test("")) { output.push(""); } } else { output.push(string.slice(lastLastIndex)); } return output.length > limit ? output.slice(0, limit) : output; }; })(); } else if ("0".split(void 0, 0).length) { StringPrototype.split = function split(separator, limit) { if (separator === void 0 && limit === 0) { return []; } return string_split.call(this, separator, limit); }; } var string_substr = StringPrototype.substr; var hasNegativeSubstrBug = "".substr && "0b".substr(-1) !== "b"; defineProperties(StringPrototype, { substr: function substr(start, length) { return string_substr.call( this, start < 0 ? (start = this.length + start) < 0 ? 0 : start : start, length ); } }, hasNegativeSubstrBug); }, {}], 16: [function(require2, module3, exports3) { "use strict"; module3.exports = [ // streaming transports require2("./transport/websocket"), require2("./transport/xhr-streaming"), require2("./transport/xdr-streaming"), require2("./transport/eventsource"), require2("./transport/lib/iframe-wrap")(require2("./transport/eventsource")), require2("./transport/htmlfile"), require2("./transport/lib/iframe-wrap")(require2("./transport/htmlfile")), require2("./transport/xhr-polling"), require2("./transport/xdr-polling"), require2("./transport/lib/iframe-wrap")(require2("./transport/xhr-polling")), require2("./transport/jsonp-polling") ]; }, { "./transport/eventsource": 20, "./transport/htmlfile": 21, "./transport/jsonp-polling": 23, "./transport/lib/iframe-wrap": 26, "./transport/websocket": 38, "./transport/xdr-polling": 39, "./transport/xdr-streaming": 40, "./transport/xhr-polling": 41, "./transport/xhr-streaming": 42 }], 17: [function(require2, module3, exports3) { (function(process, global2) { (function() { "use strict"; var EventEmitter = require2("events").EventEmitter, inherits = require2("inherits"), utils = require2("../../utils/event"), urlUtils = require2("../../utils/url"), XHR = global2.XMLHttpRequest; var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:browser:xhr"); } function AbstractXHRObject(method, url, payload, opts) { debug(method, url); var self2 = this; EventEmitter.call(this); setTimeout(function() { self2._start(method, url, payload, opts); }, 0); } inherits(AbstractXHRObject, EventEmitter); AbstractXHRObject.prototype._start = function(method, url, payload, opts) { var self2 = this; try { this.xhr = new XHR(); } catch (x) { } if (!this.xhr) { debug("no xhr"); this.emit("finish", 0, "no xhr support"); this._cleanup(); return; } url = urlUtils.addQuery(url, "t=" + +/* @__PURE__ */ new Date()); this.unloadRef = utils.unloadAdd(function() { debug("unload cleanup"); self2._cleanup(true); }); try { this.xhr.open(method, url, true); if (this.timeout && "timeout" in this.xhr) { this.xhr.timeout = this.timeout; this.xhr.ontimeout = function() { debug("xhr timeout"); self2.emit("finish", 0, ""); self2._cleanup(false); }; } } catch (e) { debug("exception", e); this.emit("finish", 0, ""); this._cleanup(false); return; } if ((!opts || !opts.noCredentials) && AbstractXHRObject.supportsCORS) { debug("withCredentials"); this.xhr.withCredentials = true; } if (opts && opts.headers) { for (var key in opts.headers) { this.xhr.setRequestHeader(key, opts.headers[key]); } } this.xhr.onreadystatechange = function() { if (self2.xhr) { var x = self2.xhr; var text, status; debug("readyState", x.readyState); switch (x.readyState) { case 3: try { status = x.status; text = x.responseText; } catch (e) { } debug("status", status); if (status === 1223) { status = 204; } if (status === 200 && text && text.length > 0) { debug("chunk"); self2.emit("chunk", status, text); } break; case 4: status = x.status; debug("status", status); if (status === 1223) { status = 204; } if (status === 12005 || status === 12029) { status = 0; } debug("finish", status, x.responseText); self2.emit("finish", status, x.responseText); self2._cleanup(false); break; } } }; try { self2.xhr.send(payload); } catch (e) { self2.emit("finish", 0, ""); self2._cleanup(false); } }; AbstractXHRObject.prototype._cleanup = function(abort) { debug("cleanup"); if (!this.xhr) { return; } this.removeAllListeners(); utils.unloadDel(this.unloadRef); this.xhr.onreadystatechange = function() { }; if (this.xhr.ontimeout) { this.xhr.ontimeout = null; } if (abort) { try { this.xhr.abort(); } catch (x) { } } this.unloadRef = this.xhr = null; }; AbstractXHRObject.prototype.close = function() { debug("close"); this._cleanup(true); }; AbstractXHRObject.enabled = !!XHR; var axo = ["Active"].concat("Object").join("X"); if (!AbstractXHRObject.enabled && axo in global2) { debug("overriding xmlhttprequest"); XHR = function() { try { return new global2[axo]("Microsoft.XMLHTTP"); } catch (e) { return null; } }; AbstractXHRObject.enabled = !!new XHR(); } var cors = false; try { cors = "withCredentials" in new XHR(); } catch (ignored) { } AbstractXHRObject.supportsCORS = cors; module3.exports = AbstractXHRObject; }).call(this); }).call(this, { env: {} }, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "../../utils/event": 46, "../../utils/url": 52, "debug": 55, "events": 3, "inherits": 57 }], 18: [function(require2, module3, exports3) { (function(global2) { (function() { module3.exports = global2.EventSource; }).call(this); }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, {}], 19: [function(require2, module3, exports3) { (function(global2) { (function() { "use strict"; var Driver = global2.WebSocket || global2.MozWebSocket; if (Driver) { module3.exports = function WebSocketBrowserDriver(url) { return new Driver(url); }; } else { module3.exports = void 0; } }).call(this); }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, {}], 20: [function(require2, module3, exports3) { "use strict"; var inherits = require2("inherits"), AjaxBasedTransport = require2("./lib/ajax-based"), EventSourceReceiver = require2("./receiver/eventsource"), XHRCorsObject = require2("./sender/xhr-cors"), EventSourceDriver = require2("eventsource"); function EventSourceTransport(transUrl) { if (!EventSourceTransport.enabled()) { throw new Error("Transport created when disabled"); } AjaxBasedTransport.call(this, transUrl, "/eventsource", EventSourceReceiver, XHRCorsObject); } inherits(EventSourceTransport, AjaxBasedTransport); EventSourceTransport.enabled = function() { return !!EventSourceDriver; }; EventSourceTransport.transportName = "eventsource"; EventSourceTransport.roundTrips = 2; module3.exports = EventSourceTransport; }, { "./lib/ajax-based": 24, "./receiver/eventsource": 29, "./sender/xhr-cors": 35, "eventsource": 18, "inherits": 57 }], 21: [function(require2, module3, exports3) { "use strict"; var inherits = require2("inherits"), HtmlfileReceiver = require2("./receiver/htmlfile"), XHRLocalObject = require2("./sender/xhr-local"), AjaxBasedTransport = require2("./lib/ajax-based"); function HtmlFileTransport(transUrl) { if (!HtmlfileReceiver.enabled) { throw new Error("Transport created when disabled"); } AjaxBasedTransport.call(this, transUrl, "/htmlfile", HtmlfileReceiver, XHRLocalObject); } inherits(HtmlFileTransport, AjaxBasedTransport); HtmlFileTransport.enabled = function(info) { return HtmlfileReceiver.enabled && info.sameOrigin; }; HtmlFileTransport.transportName = "htmlfile"; HtmlFileTransport.roundTrips = 2; module3.exports = HtmlFileTransport; }, { "./lib/ajax-based": 24, "./receiver/htmlfile": 30, "./sender/xhr-local": 37, "inherits": 57 }], 22: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var inherits = require2("inherits"), EventEmitter = require2("events").EventEmitter, version = require2("../version"), urlUtils = require2("../utils/url"), iframeUtils = require2("../utils/iframe"), eventUtils = require2("../utils/event"), random = require2("../utils/random"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:transport:iframe"); } function IframeTransport(transport, transUrl, baseUrl) { if (!IframeTransport.enabled()) { throw new Error("Transport created when disabled"); } EventEmitter.call(this); var self2 = this; this.origin = urlUtils.getOrigin(baseUrl); this.baseUrl = baseUrl; this.transUrl = transUrl; this.transport = transport; this.windowId = random.string(8); var iframeUrl = urlUtils.addPath(baseUrl, "/iframe.html") + "#" + this.windowId; debug(transport, transUrl, iframeUrl); this.iframeObj = iframeUtils.createIframe(iframeUrl, function(r) { debug("err callback"); self2.emit("close", 1006, "Unable to load an iframe (" + r + ")"); self2.close(); }); this.onmessageCallback = this._message.bind(this); eventUtils.attachEvent("message", this.onmessageCallback); } inherits(IframeTransport, EventEmitter); IframeTransport.prototype.close = function() { debug("close"); this.removeAllListeners(); if (this.iframeObj) { eventUtils.detachEvent("message", this.onmessageCallback); try { this.postMessage("c"); } catch (x) { } this.iframeObj.cleanup(); this.iframeObj = null; this.onmessageCallback = this.iframeObj = null; } }; IframeTransport.prototype._message = function(e) { debug("message", e.data); if (!urlUtils.isOriginEqual(e.origin, this.origin)) { debug("not same origin", e.origin, this.origin); return; } var iframeMessage; try { iframeMessage = JSON.parse(e.data); } catch (ignored) { debug("bad json", e.data); return; } if (iframeMessage.windowId !== this.windowId) { debug("mismatched window id", iframeMessage.windowId, this.windowId); return; } switch (iframeMessage.type) { case "s": this.iframeObj.loaded(); this.postMessage("s", JSON.stringify([ version, this.transport, this.transUrl, this.baseUrl ])); break; case "t": this.emit("message", iframeMessage.data); break; case "c": var cdata; try { cdata = JSON.parse(iframeMessage.data); } catch (ignored) { debug("bad json", iframeMessage.data); return; } this.emit("close", cdata[0], cdata[1]); this.close(); break; } }; IframeTransport.prototype.postMessage = function(type, data) { debug("postMessage", type, data); this.iframeObj.post(JSON.stringify({ windowId: this.windowId, type, data: data || "" }), this.origin); }; IframeTransport.prototype.send = function(message) { debug("send", message); this.postMessage("m", message); }; IframeTransport.enabled = function() { return iframeUtils.iframeEnabled; }; IframeTransport.transportName = "iframe"; IframeTransport.roundTrips = 2; module3.exports = IframeTransport; }).call(this); }).call(this, { env: {} }); }, { "../utils/event": 46, "../utils/iframe": 47, "../utils/random": 50, "../utils/url": 52, "../version": 53, "debug": 55, "events": 3, "inherits": 57 }], 23: [function(require2, module3, exports3) { (function(global2) { (function() { "use strict"; var inherits = require2("inherits"), SenderReceiver = require2("./lib/sender-receiver"), JsonpReceiver = require2("./receiver/jsonp"), jsonpSender = require2("./sender/jsonp"); function JsonPTransport(transUrl) { if (!JsonPTransport.enabled()) { throw new Error("Transport created when disabled"); } SenderReceiver.call(this, transUrl, "/jsonp", jsonpSender, JsonpReceiver); } inherits(JsonPTransport, SenderReceiver); JsonPTransport.enabled = function() { return !!global2.document; }; JsonPTransport.transportName = "jsonp-polling"; JsonPTransport.roundTrips = 1; JsonPTransport.needBody = true; module3.exports = JsonPTransport; }).call(this); }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "./lib/sender-receiver": 28, "./receiver/jsonp": 31, "./sender/jsonp": 33, "inherits": 57 }], 24: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var inherits = require2("inherits"), urlUtils = require2("../../utils/url"), SenderReceiver = require2("./sender-receiver"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:ajax-based"); } function createAjaxSender(AjaxObject) { return function(url, payload, callback) { debug("create ajax sender", url, payload); var opt = {}; if (typeof payload === "string") { opt.headers = { "Content-type": "text/plain" }; } var ajaxUrl = urlUtils.addPath(url, "/xhr_send"); var xo = new AjaxObject("POST", ajaxUrl, payload, opt); xo.once("finish", function(status) { debug("finish", status); xo = null; if (status !== 200 && status !== 204) { return callback(new Error("http status " + status)); } callback(); }); return function() { debug("abort"); xo.close(); xo = null; var err = new Error("Aborted"); err.code = 1e3; callback(err); }; }; } function AjaxBasedTransport(transUrl, urlSuffix, Receiver, AjaxObject) { SenderReceiver.call(this, transUrl, urlSuffix, createAjaxSender(AjaxObject), Receiver, AjaxObject); } inherits(AjaxBasedTransport, SenderReceiver); module3.exports = AjaxBasedTransport; }).call(this); }).call(this, { env: {} }); }, { "../../utils/url": 52, "./sender-receiver": 28, "debug": 55, "inherits": 57 }], 25: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var inherits = require2("inherits"), EventEmitter = require2("events").EventEmitter; var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:buffered-sender"); } function BufferedSender(url, sender) { debug(url); EventEmitter.call(this); this.sendBuffer = []; this.sender = sender; this.url = url; } inherits(BufferedSender, EventEmitter); BufferedSender.prototype.send = function(message) { debug("send", message); this.sendBuffer.push(message); if (!this.sendStop) { this.sendSchedule(); } }; BufferedSender.prototype.sendScheduleWait = function() { debug("sendScheduleWait"); var self2 = this; var tref; this.sendStop = function() { debug("sendStop"); self2.sendStop = null; clearTimeout(tref); }; tref = setTimeout(function() { debug("timeout"); self2.sendStop = null; self2.sendSchedule(); }, 25); }; BufferedSender.prototype.sendSchedule = function() { debug("sendSchedule", this.sendBuffer.length); var self2 = this; if (this.sendBuffer.length > 0) { var payload = "[" + this.sendBuffer.join(",") + "]"; this.sendStop = this.sender(this.url, payload, function(err) { self2.sendStop = null; if (err) { debug("error", err); self2.emit("close", err.code || 1006, "Sending error: " + err); self2.close(); } else { self2.sendScheduleWait(); } }); this.sendBuffer = []; } }; BufferedSender.prototype._cleanup = function() { debug("_cleanup"); this.removeAllListeners(); }; BufferedSender.prototype.close = function() { debug("close"); this._cleanup(); if (this.sendStop) { this.sendStop(); this.sendStop = null; } }; module3.exports = BufferedSender; }).call(this); }).call(this, { env: {} }); }, { "debug": 55, "events": 3, "inherits": 57 }], 26: [function(require2, module3, exports3) { (function(global2) { (function() { "use strict"; var inherits = require2("inherits"), IframeTransport = require2("../iframe"), objectUtils = require2("../../utils/object"); module3.exports = function(transport) { function IframeWrapTransport(transUrl, baseUrl) { IframeTransport.call(this, transport.transportName, transUrl, baseUrl); } inherits(IframeWrapTransport, IframeTransport); IframeWrapTransport.enabled = function(url, info) { if (!global2.document) { return false; } var iframeInfo = objectUtils.extend({}, info); iframeInfo.sameOrigin = true; return transport.enabled(iframeInfo) && IframeTransport.enabled(); }; IframeWrapTransport.transportName = "iframe-" + transport.transportName; IframeWrapTransport.needBody = true; IframeWrapTransport.roundTrips = IframeTransport.roundTrips + transport.roundTrips - 1; IframeWrapTransport.facadeTransport = transport; return IframeWrapTransport; }; }).call(this); }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "../../utils/object": 49, "../iframe": 22, "inherits": 57 }], 27: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var inherits = require2("inherits"), EventEmitter = require2("events").EventEmitter; var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:polling"); } function Polling(Receiver, receiveUrl, AjaxObject) { debug(receiveUrl); EventEmitter.call(this); this.Receiver = Receiver; this.receiveUrl = receiveUrl; this.AjaxObject = AjaxObject; this._scheduleReceiver(); } inherits(Polling, EventEmitter); Polling.prototype._scheduleReceiver = function() { debug("_scheduleReceiver"); var self2 = this; var poll = this.poll = new this.Receiver(this.receiveUrl, this.AjaxObject); poll.on("message", function(msg) { debug("message", msg); self2.emit("message", msg); }); poll.once("close", function(code, reason) { debug("close", code, reason, self2.pollIsClosing); self2.poll = poll = null; if (!self2.pollIsClosing) { if (reason === "network") { self2._scheduleReceiver(); } else { self2.emit("close", code || 1006, reason); self2.removeAllListeners(); } } }); }; Polling.prototype.abort = function() { debug("abort"); this.removeAllListeners(); this.pollIsClosing = true; if (this.poll) { this.poll.abort(); } }; module3.exports = Polling; }).call(this); }).call(this, { env: {} }); }, { "debug": 55, "events": 3, "inherits": 57 }], 28: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var inherits = require2("inherits"), urlUtils = require2("../../utils/url"), BufferedSender = require2("./buffered-sender"), Polling = require2("./polling"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:sender-receiver"); } function SenderReceiver(transUrl, urlSuffix, senderFunc, Receiver, AjaxObject) { var pollUrl = urlUtils.addPath(transUrl, urlSuffix); debug(pollUrl); var self2 = this; BufferedSender.call(this, transUrl, senderFunc); this.poll = new Polling(Receiver, pollUrl, AjaxObject); this.poll.on("message", function(msg) { debug("poll message", msg); self2.emit("message", msg); }); this.poll.once("close", function(code, reason) { debug("poll close", code, reason); self2.poll = null; self2.emit("close", code, reason); self2.close(); }); } inherits(SenderReceiver, BufferedSender); SenderReceiver.prototype.close = function() { BufferedSender.prototype.close.call(this); debug("close"); this.removeAllListeners(); if (this.poll) { this.poll.abort(); this.poll = null; } }; module3.exports = SenderReceiver; }).call(this); }).call(this, { env: {} }); }, { "../../utils/url": 52, "./buffered-sender": 25, "./polling": 27, "debug": 55, "inherits": 57 }], 29: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var inherits = require2("inherits"), EventEmitter = require2("events").EventEmitter, EventSourceDriver = require2("eventsource"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:receiver:eventsource"); } function EventSourceReceiver(url) { debug(url); EventEmitter.call(this); var self2 = this; var es = this.es = new EventSourceDriver(url); es.onmessage = function(e) { debug("message", e.data); self2.emit("message", decodeURI(e.data)); }; es.onerror = function(e) { debug("error", es.readyState, e); var reason = es.readyState !== 2 ? "network" : "permanent"; self2._cleanup(); self2._close(reason); }; } inherits(EventSourceReceiver, EventEmitter); EventSourceReceiver.prototype.abort = function() { debug("abort"); this._cleanup(); this._close("user"); }; EventSourceReceiver.prototype._cleanup = function() { debug("cleanup"); var es = this.es; if (es) { es.onmessage = es.onerror = null; es.close(); this.es = null; } }; EventSourceReceiver.prototype._close = function(reason) { debug("close", reason); var self2 = this; setTimeout(function() { self2.emit("close", null, reason); self2.removeAllListeners(); }, 200); }; module3.exports = EventSourceReceiver; }).call(this); }).call(this, { env: {} }); }, { "debug": 55, "events": 3, "eventsource": 18, "inherits": 57 }], 30: [function(require2, module3, exports3) { (function(process, global2) { (function() { "use strict"; var inherits = require2("inherits"), iframeUtils = require2("../../utils/iframe"), urlUtils = require2("../../utils/url"), EventEmitter = require2("events").EventEmitter, random = require2("../../utils/random"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:receiver:htmlfile"); } function HtmlfileReceiver(url) { debug(url); EventEmitter.call(this); var self2 = this; iframeUtils.polluteGlobalNamespace(); this.id = "a" + random.string(6); url = urlUtils.addQuery(url, "c=" + decodeURIComponent(iframeUtils.WPrefix + "." + this.id)); debug("using htmlfile", HtmlfileReceiver.htmlfileEnabled); var constructFunc = HtmlfileReceiver.htmlfileEnabled ? iframeUtils.createHtmlfile : iframeUtils.createIframe; global2[iframeUtils.WPrefix][this.id] = { start: function() { debug("start"); self2.iframeObj.loaded(); }, message: function(data) { debug("message", data); self2.emit("message", data); }, stop: function() { debug("stop"); self2._cleanup(); self2._close("network"); } }; this.iframeObj = constructFunc(url, function() { debug("callback"); self2._cleanup(); self2._close("permanent"); }); } inherits(HtmlfileReceiver, EventEmitter); HtmlfileReceiver.prototype.abort = function() { debug("abort"); this._cleanup(); this._close("user"); }; HtmlfileReceiver.prototype._cleanup = function() { debug("_cleanup"); if (this.iframeObj) { this.iframeObj.cleanup(); this.iframeObj = null; } delete global2[iframeUtils.WPrefix][this.id]; }; HtmlfileReceiver.prototype._close = function(reason) { debug("_close", reason); this.emit("close", null, reason); this.removeAllListeners(); }; HtmlfileReceiver.htmlfileEnabled = false; var axo = ["Active"].concat("Object").join("X"); if (axo in global2) { try { HtmlfileReceiver.htmlfileEnabled = !!new global2[axo]("htmlfile"); } catch (x) { } } HtmlfileReceiver.enabled = HtmlfileReceiver.htmlfileEnabled || iframeUtils.iframeEnabled; module3.exports = HtmlfileReceiver; }).call(this); }).call(this, { env: {} }, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "../../utils/iframe": 47, "../../utils/random": 50, "../../utils/url": 52, "debug": 55, "events": 3, "inherits": 57 }], 31: [function(require2, module3, exports3) { (function(process, global2) { (function() { "use strict"; var utils = require2("../../utils/iframe"), random = require2("../../utils/random"), browser = require2("../../utils/browser"), urlUtils = require2("../../utils/url"), inherits = require2("inherits"), EventEmitter = require2("events").EventEmitter; var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:receiver:jsonp"); } function JsonpReceiver(url) { debug(url); var self2 = this; EventEmitter.call(this); utils.polluteGlobalNamespace(); this.id = "a" + random.string(6); var urlWithId = urlUtils.addQuery(url, "c=" + encodeURIComponent(utils.WPrefix + "." + this.id)); global2[utils.WPrefix][this.id] = this._callback.bind(this); this._createScript(urlWithId); this.timeoutId = setTimeout(function() { debug("timeout"); self2._abort(new Error("JSONP script loaded abnormally (timeout)")); }, JsonpReceiver.timeout); } inherits(JsonpReceiver, EventEmitter); JsonpReceiver.prototype.abort = function() { debug("abort"); if (global2[utils.WPrefix][this.id]) { var err = new Error("JSONP user aborted read"); err.code = 1e3; this._abort(err); } }; JsonpReceiver.timeout = 35e3; JsonpReceiver.scriptErrorTimeout = 1e3; JsonpReceiver.prototype._callback = function(data) { debug("_callback", data); this._cleanup(); if (this.aborting) { return; } if (data) { debug("message", data); this.emit("message", data); } this.emit("close", null, "network"); this.removeAllListeners(); }; JsonpReceiver.prototype._abort = function(err) { debug("_abort", err); this._cleanup(); this.aborting = true; this.emit("close", err.code, err.message); this.removeAllListeners(); }; JsonpReceiver.prototype._cleanup = function() { debug("_cleanup"); clearTimeout(this.timeoutId); if (this.script2) { this.script2.parentNode.removeChild(this.script2); this.script2 = null; } if (this.script) { var script = this.script; script.parentNode.removeChild(script); script.onreadystatechange = script.onerror = script.onload = script.onclick = null; this.script = null; } delete global2[utils.WPrefix][this.id]; }; JsonpReceiver.prototype._scriptError = function() { debug("_scriptError"); var self2 = this; if (this.errorTimer) { return; } this.errorTimer = setTimeout(function() { if (!self2.loadedOkay) { self2._abort(new Error("JSONP script loaded abnormally (onerror)")); } }, JsonpReceiver.scriptErrorTimeout); }; JsonpReceiver.prototype._createScript = function(url) { debug("_createScript", url); var self2 = this; var script = this.script = global2.document.createElement("script"); var script2; script.id = "a" + random.string(8); script.src = url; script.type = "text/javascript"; script.charset = "UTF-8"; script.onerror = this._scriptError.bind(this); script.onload = function() { debug("onload"); self2._abort(new Error("JSONP script loaded abnormally (onload)")); }; script.onreadystatechange = function() { debug("onreadystatechange", script.readyState); if (/loaded|closed/.test(script.readyState)) { if (script && script.htmlFor && script.onclick) { self2.loadedOkay = true; try { script.onclick(); } catch (x) { } } if (script) { self2._abort(new Error("JSONP script loaded abnormally (onreadystatechange)")); } } }; if (typeof script.async === "undefined" && global2.document.attachEvent) { if (!browser.isOpera()) { try { script.htmlFor = script.id; script.event = "onclick"; } catch (x) { } script.async = true; } else { script2 = this.script2 = global2.document.createElement("script"); script2.text = "try{var a = document.getElementById('" + script.id + "'); if(a)a.onerror();}catch(x){};"; script.async = script2.async = false; } } if (typeof script.async !== "undefined") { script.async = true; } var head = global2.document.getElementsByTagName("head")[0]; head.insertBefore(script, head.firstChild); if (script2) { head.insertBefore(script2, head.firstChild); } }; module3.exports = JsonpReceiver; }).call(this); }).call(this, { env: {} }, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}); }, { "../../utils/browser": 44, "../../utils/iframe": 47, "../../utils/random": 50, "../../utils/url": 52, "debug": 55, "events": 3, "inherits": 57 }], 32: [function(require2, module3, exports3) { (function(process) { (function() { "use strict"; var inherits = require2("inherits"), EventEmitter = require2("events").EventEmitter; var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:receiver:xhr"); } function XhrReceiver(url, AjaxObject) { debug(url); EventEmitter.call(this); var self2 = this; this.bufferPosition = 0; this.xo = new AjaxObject("POST", url, null); this.xo.on("chunk", this._chunkHandler.bind(this)); this.xo.once("finish", function(status, text) { debug("finish", status, text); self2._chunkHandler(status, text); self2.xo = null; var reason = status === 200 ? "network" : "permanent"; debug("close", reason); self2.emit("close", null, reason); self2._cleanup(); }); } inherits(XhrReceiver, EventEmitter); XhrReceiver.prototype._chunkHandler = function(status, text) { debug("_chunkHandler", status); if (status !== 200 || !text) { return; } for (var idx = -1; ; this.bufferPosition += idx + 1) { var buf = text.slice(this.bufferPosition); idx = buf.indexOf("\n"); if (idx === -1) { break; } var msg = buf.slice(0, idx); if (msg) { debug("message", msg); this.emit("message", msg); } } }; XhrReceiver.prototype._cleanup = function() { debug("_cleanup"); this.removeAllListeners(); }; XhrReceiver.prototype.abort = function() { debug("abort"); if (this.xo) { this.xo.close(); debug("close"); this.emit("close", null, "user"); this.xo = null; } this._cleanup(); }; module3.exports = XhrReceiver; }).call(this); }).call(this, { env: {} }); }, { "debug": 55, "events": 3, "inherits": 57 }], 33: [function(require2, module3, exports3) { (function(process, global2) { (function() { "use strict"; var random = require2("../../utils/random"), urlUtils = require2("../../utils/url"); var debug = function() { }; if (process.env.NODE_ENV !== "production") { debug = require2("debug")("sockjs-client:sender:jsonp"); } var form, area; function createIframe(id) { debug("createIframe", id); try { return global2.document.createElement('