zmdms-utils 0.0.80 → 0.0.81

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.
Files changed (165) hide show
  1. package/declarations.d.ts +6 -0
  2. package/dist/es/_virtual/FastBufferList.js +7 -0
  3. package/dist/es/_virtual/_commonjs-dynamic-modules.js +5 -0
  4. package/dist/es/_virtual/browser.js +7 -0
  5. package/dist/es/_virtual/browser2.js +7 -0
  6. package/dist/es/_virtual/debug.js +7 -0
  7. package/dist/es/_virtual/event.js +7 -0
  8. package/dist/es/_virtual/http-parser.js +3 -0
  9. package/dist/es/_virtual/iframe.js +7 -0
  10. package/dist/es/_virtual/index.js +7 -0
  11. package/dist/es/_virtual/index2.js +7 -0
  12. package/dist/es/_virtual/index3.js +7 -0
  13. package/dist/es/_virtual/index4.js +7 -0
  14. package/dist/es/_virtual/index5.js +7 -0
  15. package/dist/es/_virtual/index6.js +7 -0
  16. package/dist/es/_virtual/index7.js +3 -0
  17. package/dist/es/_virtual/index8.js +7 -0
  18. package/dist/es/_virtual/index9.js +7 -0
  19. package/dist/es/_virtual/inherits.js +7 -0
  20. package/dist/es/_virtual/inherits_browser.js +7 -0
  21. package/dist/es/_virtual/json3.js +7 -0
  22. package/dist/es/_virtual/node.js +7 -0
  23. package/dist/es/_virtual/node2.js +7 -0
  24. package/dist/es/_virtual/stomp-node.js +3 -0
  25. package/dist/es/_virtual/stomp.js +3 -0
  26. package/dist/es/_virtual/streams.js +3 -0
  27. package/dist/es/_virtual/utils.js +3 -0
  28. package/dist/es/constants.d.ts +5 -1
  29. package/dist/es/constants.js +5 -1
  30. package/dist/es/node_modules/bufferutil/fallback.js +43 -0
  31. package/dist/es/node_modules/bufferutil/index.js +21 -0
  32. package/dist/es/node_modules/debug/src/browser.js +192 -0
  33. package/dist/es/node_modules/debug/src/common.js +259 -0
  34. package/dist/es/node_modules/debug/src/index.js +25 -0
  35. package/dist/es/node_modules/debug/src/node.js +192 -0
  36. package/dist/es/node_modules/eventsource/lib/eventsource.js +493 -0
  37. package/dist/es/node_modules/faye-websocket/lib/faye/eventsource.js +150 -0
  38. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event.js +31 -0
  39. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js +41 -0
  40. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api.js +205 -0
  41. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/client.js +107 -0
  42. package/dist/es/node_modules/faye-websocket/lib/faye/websocket.js +47 -0
  43. package/dist/es/node_modules/has-flag/index.js +17 -0
  44. package/dist/es/node_modules/http-parser-js/http-parser.js +471 -0
  45. package/dist/es/node_modules/inherits/inherits.js +14 -0
  46. package/dist/es/node_modules/inherits/inherits_browser.js +38 -0
  47. package/dist/es/node_modules/is-typedarray/index.js +51 -0
  48. package/dist/es/node_modules/json3/lib/json3.js +937 -0
  49. package/dist/es/node_modules/ms/index.js +172 -0
  50. package/dist/es/node_modules/node-gyp-build/index.js +21 -0
  51. package/dist/es/node_modules/node-gyp-build/node-gyp-build.js +222 -0
  52. package/dist/es/node_modules/querystringify/index.js +120 -0
  53. package/dist/es/node_modules/requires-port/index.js +38 -0
  54. package/dist/es/node_modules/safe-buffer/index.js +71 -0
  55. package/dist/es/node_modules/supports-color/index.js +143 -0
  56. package/dist/es/node_modules/typedarray-to-buffer/index.js +37 -0
  57. package/dist/es/node_modules/url-parse/index.js +594 -0
  58. package/dist/es/node_modules/utf-8-validate/fallback.js +71 -0
  59. package/dist/es/node_modules/utf-8-validate/index.js +21 -0
  60. package/dist/es/node_modules/websocket/index.js +15 -0
  61. package/dist/es/node_modules/websocket/lib/Deprecation.js +42 -0
  62. package/dist/es/node_modules/websocket/lib/W3CWebSocket.js +268 -0
  63. package/dist/es/node_modules/websocket/lib/WebSocketClient.js +380 -0
  64. package/dist/es/node_modules/websocket/lib/WebSocketConnection.js +914 -0
  65. package/dist/es/node_modules/websocket/lib/WebSocketFrame.js +293 -0
  66. package/dist/es/node_modules/websocket/lib/WebSocketRequest.js +543 -0
  67. package/dist/es/node_modules/websocket/lib/WebSocketRouter.js +172 -0
  68. package/dist/es/node_modules/websocket/lib/WebSocketRouterRequest.js +67 -0
  69. package/dist/es/node_modules/websocket/lib/WebSocketServer.js +272 -0
  70. package/dist/es/node_modules/websocket/lib/utils.js +80 -0
  71. package/dist/es/node_modules/websocket/lib/version.js +13 -0
  72. package/dist/es/node_modules/websocket/lib/websocket.js +31 -0
  73. package/dist/es/node_modules/websocket/node_modules/debug/src/browser.js +199 -0
  74. package/dist/es/node_modules/websocket/node_modules/debug/src/debug.js +215 -0
  75. package/dist/es/node_modules/websocket/node_modules/debug/src/index.js +25 -0
  76. package/dist/es/node_modules/websocket/node_modules/debug/src/node.js +266 -0
  77. package/dist/es/node_modules/websocket/node_modules/ms/index.js +162 -0
  78. package/dist/es/node_modules/websocket/package.json.js +77 -0
  79. package/dist/es/node_modules/websocket/vendor/FastBufferList.js +205 -0
  80. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/base.js +202 -0
  81. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/client.js +152 -0
  82. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft75.js +128 -0
  83. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft76.js +124 -0
  84. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/headers.js +44 -0
  85. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/frame.js +21 -0
  86. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/message.js +37 -0
  87. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi.js +492 -0
  88. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/proxy.js +108 -0
  89. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/server.js +119 -0
  90. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/stream_reader.js +72 -0
  91. package/dist/es/node_modules/websocket-driver/lib/websocket/driver.js +47 -0
  92. package/dist/es/node_modules/websocket-driver/lib/websocket/http_parser.js +140 -0
  93. package/dist/es/node_modules/websocket-driver/lib/websocket/streams.js +150 -0
  94. package/dist/es/node_modules/websocket-extensions/lib/parser.js +103 -0
  95. package/dist/es/node_modules/websocket-extensions/lib/pipeline/cell.js +56 -0
  96. package/dist/es/node_modules/websocket-extensions/lib/pipeline/functor.js +74 -0
  97. package/dist/es/node_modules/websocket-extensions/lib/pipeline/index.js +50 -0
  98. package/dist/es/node_modules/websocket-extensions/lib/pipeline/pledge.js +39 -0
  99. package/dist/es/node_modules/websocket-extensions/lib/pipeline/ring_buffer.js +66 -0
  100. package/dist/es/node_modules/websocket-extensions/lib/websocket_extensions.js +165 -0
  101. package/dist/es/node_modules/yaeti/index.js +17 -0
  102. package/dist/es/node_modules/yaeti/lib/Event.js +24 -0
  103. package/dist/es/node_modules/yaeti/lib/EventTarget.js +130 -0
  104. package/dist/es/node_modules/zt-sockjs-client/lib/entry.js +14 -0
  105. package/dist/es/node_modules/zt-sockjs-client/lib/event/close.js +21 -0
  106. package/dist/es/node_modules/zt-sockjs-client/lib/event/event.js +22 -0
  107. package/dist/es/node_modules/zt-sockjs-client/lib/event/eventtarget.js +62 -0
  108. package/dist/es/node_modules/zt-sockjs-client/lib/event/trans-message.js +19 -0
  109. package/dist/es/node_modules/zt-sockjs-client/lib/facade.js +40 -0
  110. package/dist/es/node_modules/zt-sockjs-client/lib/iframe-bootstrap.js +122 -0
  111. package/dist/es/node_modules/zt-sockjs-client/lib/info-ajax.js +57 -0
  112. package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe-receiver.js +50 -0
  113. package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe.js +81 -0
  114. package/dist/es/node_modules/zt-sockjs-client/lib/info-receiver.js +101 -0
  115. package/dist/es/node_modules/zt-sockjs-client/lib/location.js +12 -0
  116. package/dist/es/node_modules/zt-sockjs-client/lib/main.js +413 -0
  117. package/dist/es/node_modules/zt-sockjs-client/lib/shims.js +449 -0
  118. package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/websocket.js +5 -0
  119. package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/xhr.js +80 -0
  120. package/dist/es/node_modules/zt-sockjs-client/lib/transport/eventsource.js +34 -0
  121. package/dist/es/node_modules/zt-sockjs-client/lib/transport/htmlfile.js +31 -0
  122. package/dist/es/node_modules/zt-sockjs-client/lib/transport/iframe.js +154 -0
  123. package/dist/es/node_modules/zt-sockjs-client/lib/transport/jsonp-polling.js +41 -0
  124. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/ajax-based.js +55 -0
  125. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/buffered-sender.js +92 -0
  126. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/iframe-wrap.js +39 -0
  127. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/polling.js +65 -0
  128. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/sender-receiver.js +52 -0
  129. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/eventsource.js +69 -0
  130. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/htmlfile.js +96 -0
  131. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/jsonp.js +193 -0
  132. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/xhr.js +75 -0
  133. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/jsonp.js +104 -0
  134. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xdr.js +113 -0
  135. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-cors.js +19 -0
  136. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-fake.js +28 -0
  137. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-local.js +21 -0
  138. package/dist/es/node_modules/zt-sockjs-client/lib/transport/websocket.js +108 -0
  139. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-polling.js +30 -0
  140. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-streaming.js +38 -0
  141. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-polling.js +40 -0
  142. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-streaming.js +50 -0
  143. package/dist/es/node_modules/zt-sockjs-client/lib/transport-list.js +28 -0
  144. package/dist/es/node_modules/zt-sockjs-client/lib/utils/browser.js +29 -0
  145. package/dist/es/node_modules/zt-sockjs-client/lib/utils/escape.js +53 -0
  146. package/dist/es/node_modules/zt-sockjs-client/lib/utils/event.js +78 -0
  147. package/dist/es/node_modules/zt-sockjs-client/lib/utils/iframe.js +205 -0
  148. package/dist/es/node_modules/zt-sockjs-client/lib/utils/log.js +20 -0
  149. package/dist/es/node_modules/zt-sockjs-client/lib/utils/object.js +24 -0
  150. package/dist/es/node_modules/zt-sockjs-client/lib/utils/random.js +30 -0
  151. package/dist/es/node_modules/zt-sockjs-client/lib/utils/transport.js +52 -0
  152. package/dist/es/node_modules/zt-sockjs-client/lib/utils/url.js +54 -0
  153. package/dist/es/node_modules/zt-sockjs-client/lib/version.js +11 -0
  154. package/dist/es/node_modules/zt-stompjs/index.js +23 -0
  155. package/dist/es/node_modules/zt-stompjs/lib/stomp-node.js +117 -0
  156. package/dist/es/node_modules/zt-stompjs/lib/stomp.js +536 -0
  157. package/dist/es/stompClient.d.ts +55 -0
  158. package/dist/es/stompClient.js +379 -0
  159. package/dist/index.d.ts +2 -1
  160. package/dist/index.js +2 -1
  161. package/package.json +6 -2
  162. package/src/constants.ts +5 -0
  163. package/src/index.ts +4 -0
  164. package/src/stompClient.ts +449 -0
  165. package/tsconfig.json +1 -1
@@ -0,0 +1,19 @@
1
+ import '../../../inherits/inherits.js';
2
+ import event from './event.js';
3
+ import { exports as inheritsExports } from '../../../../_virtual/inherits.js';
4
+
5
+ var inherits = inheritsExports
6
+ , Event = event
7
+ ;
8
+
9
+ function TransportMessageEvent(data) {
10
+ Event.call(this);
11
+ this.initEvent('message', false, false);
12
+ this.data = data;
13
+ }
14
+
15
+ inherits(TransportMessageEvent, Event);
16
+
17
+ var transMessage = TransportMessageEvent;
18
+
19
+ export { transMessage as default };
@@ -0,0 +1,40 @@
1
+ import '../../json3/lib/json3.js';
2
+ import { __require as requireIframe } from './utils/iframe.js';
3
+ import { exports as json3Exports } from '../../../_virtual/json3.js';
4
+
5
+ var facade;
6
+ var hasRequiredFacade;
7
+
8
+ function requireFacade () {
9
+ if (hasRequiredFacade) return facade;
10
+ hasRequiredFacade = 1;
11
+
12
+ var JSON3 = json3Exports
13
+ , iframeUtils = requireIframe()
14
+ ;
15
+
16
+ function FacadeJS(transport) {
17
+ this._transport = transport;
18
+ transport.on('message', this._transportMessage.bind(this));
19
+ transport.on('close', this._transportClose.bind(this));
20
+ }
21
+
22
+ FacadeJS.prototype._transportClose = function(code, reason) {
23
+ iframeUtils.postMessage('c', JSON3.stringify([code, reason]));
24
+ };
25
+ FacadeJS.prototype._transportMessage = function(frame) {
26
+ iframeUtils.postMessage('t', frame);
27
+ };
28
+ FacadeJS.prototype._send = function(data) {
29
+ this._transport.send(data);
30
+ };
31
+ FacadeJS.prototype._close = function() {
32
+ this._transport.close();
33
+ this._transport.removeAllListeners();
34
+ };
35
+
36
+ facade = FacadeJS;
37
+ return facade;
38
+ }
39
+
40
+ export { requireFacade as __require };
@@ -0,0 +1,122 @@
1
+ import url from './utils/url.js';
2
+ import './utils/event.js';
3
+ import '../../json3/lib/json3.js';
4
+ import { __require as requireFacade } from './facade.js';
5
+ import { __require as requireInfoIframeReceiver } from './info-iframe-receiver.js';
6
+ import { __require as requireIframe } from './utils/iframe.js';
7
+ import location from './location.js';
8
+ import { __require as requireSrc } from '../../debug/src/index.js';
9
+ import { exports as eventExports } from '../../../_virtual/event.js';
10
+ import { exports as json3Exports } from '../../../_virtual/json3.js';
11
+
12
+ var iframeBootstrap;
13
+ var hasRequiredIframeBootstrap;
14
+
15
+ function requireIframeBootstrap () {
16
+ if (hasRequiredIframeBootstrap) return iframeBootstrap;
17
+ hasRequiredIframeBootstrap = 1;
18
+
19
+ var urlUtils = url
20
+ , eventUtils = eventExports
21
+ , JSON3 = json3Exports
22
+ , FacadeJS = requireFacade()
23
+ , InfoIframeReceiver = requireInfoIframeReceiver()
24
+ , iframeUtils = requireIframe()
25
+ , loc = location
26
+ ;
27
+
28
+ var debug = function() {};
29
+ if (process.env.NODE_ENV !== 'production') {
30
+ debug = requireSrc()('sockjs-client:iframe-bootstrap');
31
+ }
32
+
33
+ iframeBootstrap = function(SockJS, availableTransports) {
34
+ var transportMap = {};
35
+ availableTransports.forEach(function(at) {
36
+ if (at.facadeTransport) {
37
+ transportMap[at.facadeTransport.transportName] = at.facadeTransport;
38
+ }
39
+ });
40
+
41
+ // hard-coded for the info iframe
42
+ // TODO see if we can make this more dynamic
43
+ transportMap[InfoIframeReceiver.transportName] = InfoIframeReceiver;
44
+ var parentOrigin;
45
+
46
+ /* eslint-disable camelcase */
47
+ SockJS.bootstrap_iframe = function() {
48
+ /* eslint-enable camelcase */
49
+ var facade;
50
+ iframeUtils.currentWindowId = loc.hash.slice(1);
51
+ var onMessage = function(e) {
52
+ if (e.source !== parent) {
53
+ return;
54
+ }
55
+ if (typeof parentOrigin === 'undefined') {
56
+ parentOrigin = e.origin;
57
+ }
58
+ if (e.origin !== parentOrigin) {
59
+ return;
60
+ }
61
+
62
+ var iframeMessage;
63
+ try {
64
+ iframeMessage = JSON3.parse(e.data);
65
+ } catch (ignored) {
66
+ debug('bad json', e.data);
67
+ return;
68
+ }
69
+
70
+ if (iframeMessage.windowId !== iframeUtils.currentWindowId) {
71
+ return;
72
+ }
73
+ switch (iframeMessage.type) {
74
+ case 's':
75
+ var p;
76
+ try {
77
+ p = JSON3.parse(iframeMessage.data);
78
+ } catch (ignored) {
79
+ debug('bad json', iframeMessage.data);
80
+ break;
81
+ }
82
+ var version = p[0];
83
+ var transport = p[1];
84
+ var transUrl = p[2];
85
+ var baseUrl = p[3];
86
+ debug(version, transport, transUrl, baseUrl);
87
+ // change this to semver logic
88
+ if (version !== SockJS.version) {
89
+ throw new Error('Incompatible SockJS! Main site uses:' +
90
+ ' "' + version + '", the iframe:' +
91
+ ' "' + SockJS.version + '".');
92
+ }
93
+
94
+ if (!urlUtils.isOriginEqual(transUrl, loc.href) ||
95
+ !urlUtils.isOriginEqual(baseUrl, loc.href)) {
96
+ throw new Error('Can\'t connect to different domain from within an ' +
97
+ 'iframe. (' + loc.href + ', ' + transUrl + ', ' + baseUrl + ')');
98
+ }
99
+ facade = new FacadeJS(new transportMap[transport](transUrl, baseUrl));
100
+ break;
101
+ case 'm':
102
+ facade._send(iframeMessage.data);
103
+ break;
104
+ case 'c':
105
+ if (facade) {
106
+ facade._close();
107
+ }
108
+ facade = null;
109
+ break;
110
+ }
111
+ };
112
+
113
+ eventUtils.attachEvent('message', onMessage);
114
+
115
+ // Start
116
+ iframeUtils.postMessage('s');
117
+ };
118
+ };
119
+ return iframeBootstrap;
120
+ }
121
+
122
+ export { requireIframeBootstrap as __require };
@@ -0,0 +1,57 @@
1
+ import require$$1 from 'events';
2
+ import '../../inherits/inherits.js';
3
+ import '../../json3/lib/json3.js';
4
+ import object from './utils/object.js';
5
+ import { __require as requireSrc } from '../../debug/src/index.js';
6
+ import { exports as inheritsExports } from '../../../_virtual/inherits.js';
7
+ import { exports as json3Exports } from '../../../_virtual/json3.js';
8
+
9
+ var EventEmitter = require$$1.EventEmitter
10
+ , inherits = inheritsExports
11
+ , JSON3 = json3Exports
12
+ , objectUtils = object
13
+ ;
14
+
15
+ var debug = function() {};
16
+ if (process.env.NODE_ENV !== 'production') {
17
+ debug = requireSrc()('sockjs-client:info-ajax');
18
+ }
19
+
20
+ function InfoAjax(url, AjaxObject) {
21
+ EventEmitter.call(this);
22
+
23
+ var self = this;
24
+ var t0 = +new Date();
25
+ this.xo = new AjaxObject('GET', url);
26
+
27
+ this.xo.once('finish', function(status, text) {
28
+ var info, rtt;
29
+ if (status === 200) {
30
+ rtt = (+new Date()) - t0;
31
+ if (text) {
32
+ try {
33
+ info = JSON3.parse(text);
34
+ } catch (e) {
35
+ debug('bad json', text);
36
+ }
37
+ }
38
+
39
+ if (!objectUtils.isObject(info)) {
40
+ info = {};
41
+ }
42
+ }
43
+ self.emit('finish', info, rtt);
44
+ self.removeAllListeners();
45
+ });
46
+ }
47
+
48
+ inherits(InfoAjax, EventEmitter);
49
+
50
+ InfoAjax.prototype.close = function() {
51
+ this.removeAllListeners();
52
+ this.xo.close();
53
+ };
54
+
55
+ var infoAjax = InfoAjax;
56
+
57
+ export { infoAjax as default };
@@ -0,0 +1,50 @@
1
+ import '../../inherits/inherits.js';
2
+ import require$$1 from 'events';
3
+ import '../../json3/lib/json3.js';
4
+ import xhrLocal from './transport/sender/xhr-local.js';
5
+ import infoAjax from './info-ajax.js';
6
+ import { exports as inheritsExports } from '../../../_virtual/inherits.js';
7
+ import { exports as json3Exports } from '../../../_virtual/json3.js';
8
+
9
+ var infoIframeReceiver;
10
+ var hasRequiredInfoIframeReceiver;
11
+
12
+ function requireInfoIframeReceiver () {
13
+ if (hasRequiredInfoIframeReceiver) return infoIframeReceiver;
14
+ hasRequiredInfoIframeReceiver = 1;
15
+
16
+ var inherits = inheritsExports
17
+ , EventEmitter = require$$1.EventEmitter
18
+ , JSON3 = json3Exports
19
+ , XHRLocalObject = xhrLocal
20
+ , InfoAjax = infoAjax
21
+ ;
22
+
23
+ function InfoReceiverIframe(transUrl) {
24
+ var self = this;
25
+ EventEmitter.call(this);
26
+
27
+ this.ir = new InfoAjax(transUrl, XHRLocalObject);
28
+ this.ir.once('finish', function(info, rtt) {
29
+ self.ir = null;
30
+ self.emit('message', JSON3.stringify([info, rtt]));
31
+ });
32
+ }
33
+
34
+ inherits(InfoReceiverIframe, EventEmitter);
35
+
36
+ InfoReceiverIframe.transportName = 'iframe-info-receiver';
37
+
38
+ InfoReceiverIframe.prototype.close = function() {
39
+ if (this.ir) {
40
+ this.ir.close();
41
+ this.ir = null;
42
+ }
43
+ this.removeAllListeners();
44
+ };
45
+
46
+ infoIframeReceiver = InfoReceiverIframe;
47
+ return infoIframeReceiver;
48
+ }
49
+
50
+ export { requireInfoIframeReceiver as __require };
@@ -0,0 +1,81 @@
1
+ import { commonjsGlobal } from '../../../_virtual/_commonjsHelpers.js';
2
+ import require$$1 from 'events';
3
+ import '../../inherits/inherits.js';
4
+ import '../../json3/lib/json3.js';
5
+ import './utils/event.js';
6
+ import iframe from './transport/iframe.js';
7
+ import { __require as requireInfoIframeReceiver } from './info-iframe-receiver.js';
8
+ import { __require as requireSrc } from '../../debug/src/index.js';
9
+ import { exports as inheritsExports } from '../../../_virtual/inherits.js';
10
+ import { exports as eventExports } from '../../../_virtual/event.js';
11
+ import { exports as json3Exports } from '../../../_virtual/json3.js';
12
+
13
+ var EventEmitter = require$$1.EventEmitter
14
+ , inherits = inheritsExports
15
+ , JSON3 = json3Exports
16
+ , utils = eventExports
17
+ , IframeTransport = iframe
18
+ , InfoReceiverIframe = requireInfoIframeReceiver()
19
+ ;
20
+
21
+ var debug = function() {};
22
+ if (process.env.NODE_ENV !== 'production') {
23
+ debug = requireSrc()('sockjs-client:info-iframe');
24
+ }
25
+
26
+ function InfoIframe(baseUrl, url) {
27
+ var self = this;
28
+ EventEmitter.call(this);
29
+
30
+ var go = function() {
31
+ var ifr = self.ifr = new IframeTransport(InfoReceiverIframe.transportName, url, baseUrl);
32
+
33
+ ifr.once('message', function(msg) {
34
+ if (msg) {
35
+ var d;
36
+ try {
37
+ d = JSON3.parse(msg);
38
+ } catch (e) {
39
+ debug('bad json', msg);
40
+ self.emit('finish');
41
+ self.close();
42
+ return;
43
+ }
44
+
45
+ var info = d[0], rtt = d[1];
46
+ self.emit('finish', info, rtt);
47
+ }
48
+ self.close();
49
+ });
50
+
51
+ ifr.once('close', function() {
52
+ self.emit('finish');
53
+ self.close();
54
+ });
55
+ };
56
+
57
+ // TODO this seems the same as the 'needBody' from transports
58
+ if (!commonjsGlobal.document.body) {
59
+ utils.attachEvent('load', go);
60
+ } else {
61
+ go();
62
+ }
63
+ }
64
+
65
+ inherits(InfoIframe, EventEmitter);
66
+
67
+ InfoIframe.enabled = function() {
68
+ return IframeTransport.enabled();
69
+ };
70
+
71
+ InfoIframe.prototype.close = function() {
72
+ if (this.ifr) {
73
+ this.ifr.close();
74
+ }
75
+ this.removeAllListeners();
76
+ this.ifr = null;
77
+ };
78
+
79
+ var infoIframe = InfoIframe;
80
+
81
+ export { infoIframe as default };
@@ -0,0 +1,101 @@
1
+ import require$$1 from 'events';
2
+ import '../../inherits/inherits.js';
3
+ import url from './utils/url.js';
4
+ import xdr from './transport/sender/xdr.js';
5
+ import xhrCors from './transport/sender/xhr-cors.js';
6
+ import xhrLocal from './transport/sender/xhr-local.js';
7
+ import xhrFake from './transport/sender/xhr-fake.js';
8
+ import infoIframe from './info-iframe.js';
9
+ import infoAjax from './info-ajax.js';
10
+ import { __require as requireSrc } from '../../debug/src/index.js';
11
+ import { exports as inheritsExports } from '../../../_virtual/inherits.js';
12
+
13
+ var EventEmitter = require$$1.EventEmitter
14
+ , inherits = inheritsExports
15
+ , urlUtils = url
16
+ , XDR = xdr
17
+ , XHRCors = xhrCors
18
+ , XHRLocal = xhrLocal
19
+ , XHRFake = xhrFake
20
+ , InfoIframe = infoIframe
21
+ , InfoAjax = infoAjax
22
+ ;
23
+
24
+ var debug = function() {};
25
+ if (process.env.NODE_ENV !== 'production') {
26
+ debug = requireSrc()('sockjs-client:info-receiver');
27
+ }
28
+
29
+ function InfoReceiver(baseUrl, urlInfo) {
30
+ debug(baseUrl);
31
+ var self = this;
32
+ EventEmitter.call(this);
33
+
34
+ setTimeout(function() {
35
+ self.doXhr(baseUrl, urlInfo);
36
+ }, 0);
37
+ }
38
+
39
+ inherits(InfoReceiver, EventEmitter);
40
+
41
+ // TODO this is currently ignoring the list of available transports and the whitelist
42
+
43
+ InfoReceiver._getReceiver = function(baseUrl, url, urlInfo) {
44
+ // determine method of CORS support (if needed)
45
+ if (urlInfo.sameOrigin) {
46
+ return new InfoAjax(url, XHRLocal);
47
+ }
48
+ if (XHRCors.enabled) {
49
+ return new InfoAjax(url, XHRCors);
50
+ }
51
+ if (XDR.enabled && urlInfo.sameScheme) {
52
+ return new InfoAjax(url, XDR);
53
+ }
54
+ if (InfoIframe.enabled()) {
55
+ return new InfoIframe(baseUrl, url);
56
+ }
57
+ return new InfoAjax(url, XHRFake);
58
+ };
59
+
60
+ InfoReceiver.prototype.doXhr = function(baseUrl, urlInfo) {
61
+ var self = this
62
+ , url = urlUtils.addPath(baseUrl, '/info')
63
+ ;
64
+ debug('doXhr', url);
65
+
66
+ this.xo = InfoReceiver._getReceiver(baseUrl, url, urlInfo);
67
+
68
+ this.timeoutRef = setTimeout(function() {
69
+ debug('timeout');
70
+ self._cleanup(false);
71
+ self.emit('finish');
72
+ }, InfoReceiver.timeout);
73
+
74
+ this.xo.once('finish', function(info, rtt) {
75
+ debug('finish', info, rtt);
76
+ self._cleanup(true);
77
+ self.emit('finish', info, rtt);
78
+ });
79
+ };
80
+
81
+ InfoReceiver.prototype._cleanup = function(wasClean) {
82
+ debug('_cleanup');
83
+ clearTimeout(this.timeoutRef);
84
+ this.timeoutRef = null;
85
+ if (!wasClean && this.xo) {
86
+ this.xo.close();
87
+ }
88
+ this.xo = null;
89
+ };
90
+
91
+ InfoReceiver.prototype.close = function() {
92
+ debug('close');
93
+ this.removeAllListeners();
94
+ this._cleanup(false);
95
+ };
96
+
97
+ InfoReceiver.timeout = 8000;
98
+
99
+ var infoReceiver = InfoReceiver;
100
+
101
+ export { infoReceiver as default };
@@ -0,0 +1,12 @@
1
+ import { commonjsGlobal } from '../../../_virtual/_commonjsHelpers.js';
2
+
3
+ var location = commonjsGlobal.location || {
4
+ origin: 'http://localhost:80'
5
+ , protocol: 'http:'
6
+ , host: 'localhost'
7
+ , port: 80
8
+ , href: 'http://localhost/'
9
+ , hash: ''
10
+ };
11
+
12
+ export { location as default };