zmdms-utils 0.0.81 → 0.0.83

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 (162) hide show
  1. package/dist/es/validate.js +168 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/package.json +2 -6
  5. package/src/index.ts +0 -3
  6. package/src/validate.ts +198 -0
  7. package/dist/es/_virtual/FastBufferList.js +0 -7
  8. package/dist/es/_virtual/_commonjs-dynamic-modules.js +0 -5
  9. package/dist/es/_virtual/browser.js +0 -7
  10. package/dist/es/_virtual/browser2.js +0 -7
  11. package/dist/es/_virtual/debug.js +0 -7
  12. package/dist/es/_virtual/event.js +0 -7
  13. package/dist/es/_virtual/http-parser.js +0 -3
  14. package/dist/es/_virtual/iframe.js +0 -7
  15. package/dist/es/_virtual/index.js +0 -7
  16. package/dist/es/_virtual/index2.js +0 -7
  17. package/dist/es/_virtual/index3.js +0 -7
  18. package/dist/es/_virtual/index4.js +0 -7
  19. package/dist/es/_virtual/index5.js +0 -7
  20. package/dist/es/_virtual/index6.js +0 -7
  21. package/dist/es/_virtual/index7.js +0 -3
  22. package/dist/es/_virtual/index8.js +0 -7
  23. package/dist/es/_virtual/index9.js +0 -7
  24. package/dist/es/_virtual/inherits.js +0 -7
  25. package/dist/es/_virtual/inherits_browser.js +0 -7
  26. package/dist/es/_virtual/json3.js +0 -7
  27. package/dist/es/_virtual/node.js +0 -7
  28. package/dist/es/_virtual/node2.js +0 -7
  29. package/dist/es/_virtual/stomp-node.js +0 -3
  30. package/dist/es/_virtual/stomp.js +0 -3
  31. package/dist/es/_virtual/streams.js +0 -3
  32. package/dist/es/_virtual/utils.js +0 -3
  33. package/dist/es/node_modules/bufferutil/fallback.js +0 -43
  34. package/dist/es/node_modules/bufferutil/index.js +0 -21
  35. package/dist/es/node_modules/debug/src/browser.js +0 -192
  36. package/dist/es/node_modules/debug/src/common.js +0 -259
  37. package/dist/es/node_modules/debug/src/index.js +0 -25
  38. package/dist/es/node_modules/debug/src/node.js +0 -192
  39. package/dist/es/node_modules/eventsource/lib/eventsource.js +0 -493
  40. package/dist/es/node_modules/faye-websocket/lib/faye/eventsource.js +0 -150
  41. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event.js +0 -31
  42. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js +0 -41
  43. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api.js +0 -205
  44. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/client.js +0 -107
  45. package/dist/es/node_modules/faye-websocket/lib/faye/websocket.js +0 -47
  46. package/dist/es/node_modules/has-flag/index.js +0 -17
  47. package/dist/es/node_modules/http-parser-js/http-parser.js +0 -471
  48. package/dist/es/node_modules/inherits/inherits.js +0 -14
  49. package/dist/es/node_modules/inherits/inherits_browser.js +0 -38
  50. package/dist/es/node_modules/is-typedarray/index.js +0 -51
  51. package/dist/es/node_modules/json3/lib/json3.js +0 -937
  52. package/dist/es/node_modules/ms/index.js +0 -172
  53. package/dist/es/node_modules/node-gyp-build/index.js +0 -21
  54. package/dist/es/node_modules/node-gyp-build/node-gyp-build.js +0 -222
  55. package/dist/es/node_modules/querystringify/index.js +0 -120
  56. package/dist/es/node_modules/requires-port/index.js +0 -38
  57. package/dist/es/node_modules/safe-buffer/index.js +0 -71
  58. package/dist/es/node_modules/supports-color/index.js +0 -143
  59. package/dist/es/node_modules/typedarray-to-buffer/index.js +0 -37
  60. package/dist/es/node_modules/url-parse/index.js +0 -594
  61. package/dist/es/node_modules/utf-8-validate/fallback.js +0 -71
  62. package/dist/es/node_modules/utf-8-validate/index.js +0 -21
  63. package/dist/es/node_modules/websocket/index.js +0 -15
  64. package/dist/es/node_modules/websocket/lib/Deprecation.js +0 -42
  65. package/dist/es/node_modules/websocket/lib/W3CWebSocket.js +0 -268
  66. package/dist/es/node_modules/websocket/lib/WebSocketClient.js +0 -380
  67. package/dist/es/node_modules/websocket/lib/WebSocketConnection.js +0 -914
  68. package/dist/es/node_modules/websocket/lib/WebSocketFrame.js +0 -293
  69. package/dist/es/node_modules/websocket/lib/WebSocketRequest.js +0 -543
  70. package/dist/es/node_modules/websocket/lib/WebSocketRouter.js +0 -172
  71. package/dist/es/node_modules/websocket/lib/WebSocketRouterRequest.js +0 -67
  72. package/dist/es/node_modules/websocket/lib/WebSocketServer.js +0 -272
  73. package/dist/es/node_modules/websocket/lib/utils.js +0 -80
  74. package/dist/es/node_modules/websocket/lib/version.js +0 -13
  75. package/dist/es/node_modules/websocket/lib/websocket.js +0 -31
  76. package/dist/es/node_modules/websocket/node_modules/debug/src/browser.js +0 -199
  77. package/dist/es/node_modules/websocket/node_modules/debug/src/debug.js +0 -215
  78. package/dist/es/node_modules/websocket/node_modules/debug/src/index.js +0 -25
  79. package/dist/es/node_modules/websocket/node_modules/debug/src/node.js +0 -266
  80. package/dist/es/node_modules/websocket/node_modules/ms/index.js +0 -162
  81. package/dist/es/node_modules/websocket/package.json.js +0 -77
  82. package/dist/es/node_modules/websocket/vendor/FastBufferList.js +0 -205
  83. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/base.js +0 -202
  84. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/client.js +0 -152
  85. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft75.js +0 -128
  86. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft76.js +0 -124
  87. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/headers.js +0 -44
  88. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/frame.js +0 -21
  89. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/message.js +0 -37
  90. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi.js +0 -492
  91. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/proxy.js +0 -108
  92. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/server.js +0 -119
  93. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/stream_reader.js +0 -72
  94. package/dist/es/node_modules/websocket-driver/lib/websocket/driver.js +0 -47
  95. package/dist/es/node_modules/websocket-driver/lib/websocket/http_parser.js +0 -140
  96. package/dist/es/node_modules/websocket-driver/lib/websocket/streams.js +0 -150
  97. package/dist/es/node_modules/websocket-extensions/lib/parser.js +0 -103
  98. package/dist/es/node_modules/websocket-extensions/lib/pipeline/cell.js +0 -56
  99. package/dist/es/node_modules/websocket-extensions/lib/pipeline/functor.js +0 -74
  100. package/dist/es/node_modules/websocket-extensions/lib/pipeline/index.js +0 -50
  101. package/dist/es/node_modules/websocket-extensions/lib/pipeline/pledge.js +0 -39
  102. package/dist/es/node_modules/websocket-extensions/lib/pipeline/ring_buffer.js +0 -66
  103. package/dist/es/node_modules/websocket-extensions/lib/websocket_extensions.js +0 -165
  104. package/dist/es/node_modules/yaeti/index.js +0 -17
  105. package/dist/es/node_modules/yaeti/lib/Event.js +0 -24
  106. package/dist/es/node_modules/yaeti/lib/EventTarget.js +0 -130
  107. package/dist/es/node_modules/zt-sockjs-client/lib/entry.js +0 -14
  108. package/dist/es/node_modules/zt-sockjs-client/lib/event/close.js +0 -21
  109. package/dist/es/node_modules/zt-sockjs-client/lib/event/event.js +0 -22
  110. package/dist/es/node_modules/zt-sockjs-client/lib/event/eventtarget.js +0 -62
  111. package/dist/es/node_modules/zt-sockjs-client/lib/event/trans-message.js +0 -19
  112. package/dist/es/node_modules/zt-sockjs-client/lib/facade.js +0 -40
  113. package/dist/es/node_modules/zt-sockjs-client/lib/iframe-bootstrap.js +0 -122
  114. package/dist/es/node_modules/zt-sockjs-client/lib/info-ajax.js +0 -57
  115. package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe-receiver.js +0 -50
  116. package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe.js +0 -81
  117. package/dist/es/node_modules/zt-sockjs-client/lib/info-receiver.js +0 -101
  118. package/dist/es/node_modules/zt-sockjs-client/lib/location.js +0 -12
  119. package/dist/es/node_modules/zt-sockjs-client/lib/main.js +0 -413
  120. package/dist/es/node_modules/zt-sockjs-client/lib/shims.js +0 -449
  121. package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/websocket.js +0 -5
  122. package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/xhr.js +0 -80
  123. package/dist/es/node_modules/zt-sockjs-client/lib/transport/eventsource.js +0 -34
  124. package/dist/es/node_modules/zt-sockjs-client/lib/transport/htmlfile.js +0 -31
  125. package/dist/es/node_modules/zt-sockjs-client/lib/transport/iframe.js +0 -154
  126. package/dist/es/node_modules/zt-sockjs-client/lib/transport/jsonp-polling.js +0 -41
  127. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/ajax-based.js +0 -55
  128. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/buffered-sender.js +0 -92
  129. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/iframe-wrap.js +0 -39
  130. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/polling.js +0 -65
  131. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/sender-receiver.js +0 -52
  132. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/eventsource.js +0 -69
  133. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/htmlfile.js +0 -96
  134. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/jsonp.js +0 -193
  135. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/xhr.js +0 -75
  136. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/jsonp.js +0 -104
  137. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xdr.js +0 -113
  138. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-cors.js +0 -19
  139. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-fake.js +0 -28
  140. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-local.js +0 -21
  141. package/dist/es/node_modules/zt-sockjs-client/lib/transport/websocket.js +0 -108
  142. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-polling.js +0 -30
  143. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-streaming.js +0 -38
  144. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-polling.js +0 -40
  145. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-streaming.js +0 -50
  146. package/dist/es/node_modules/zt-sockjs-client/lib/transport-list.js +0 -28
  147. package/dist/es/node_modules/zt-sockjs-client/lib/utils/browser.js +0 -29
  148. package/dist/es/node_modules/zt-sockjs-client/lib/utils/escape.js +0 -53
  149. package/dist/es/node_modules/zt-sockjs-client/lib/utils/event.js +0 -78
  150. package/dist/es/node_modules/zt-sockjs-client/lib/utils/iframe.js +0 -205
  151. package/dist/es/node_modules/zt-sockjs-client/lib/utils/log.js +0 -20
  152. package/dist/es/node_modules/zt-sockjs-client/lib/utils/object.js +0 -24
  153. package/dist/es/node_modules/zt-sockjs-client/lib/utils/random.js +0 -30
  154. package/dist/es/node_modules/zt-sockjs-client/lib/utils/transport.js +0 -52
  155. package/dist/es/node_modules/zt-sockjs-client/lib/utils/url.js +0 -54
  156. package/dist/es/node_modules/zt-sockjs-client/lib/version.js +0 -11
  157. package/dist/es/node_modules/zt-stompjs/index.js +0 -23
  158. package/dist/es/node_modules/zt-stompjs/lib/stomp-node.js +0 -117
  159. package/dist/es/node_modules/zt-stompjs/lib/stomp.js +0 -536
  160. package/dist/es/stompClient.d.ts +0 -55
  161. package/dist/es/stompClient.js +0 -379
  162. package/src/stompClient.ts +0 -449
@@ -1,493 +0,0 @@
1
- import require$$2 from 'url';
2
- import require$$1 from 'events';
3
- import require$$4 from 'https';
4
- import require$$3 from 'http';
5
- import require$$1$1 from 'util';
6
-
7
- var parse = require$$2.parse;
8
- var events = require$$1;
9
- var https = require$$4;
10
- var http = require$$3;
11
- var util = require$$1$1;
12
-
13
- var httpsOptions = [
14
- 'pfx', 'key', 'passphrase', 'cert', 'ca', 'ciphers',
15
- 'rejectUnauthorized', 'secureProtocol', 'servername', 'checkServerIdentity'
16
- ];
17
-
18
- var bom = [239, 187, 191];
19
- var colon = 58;
20
- var space = 32;
21
- var lineFeed = 10;
22
- var carriageReturn = 13;
23
-
24
- function hasBom (buf) {
25
- return bom.every(function (charCode, index) {
26
- return buf[index] === charCode
27
- })
28
- }
29
-
30
- /**
31
- * Creates a new EventSource object
32
- *
33
- * @param {String} url the URL to which to connect
34
- * @param {Object} [eventSourceInitDict] extra init params. See README for details.
35
- * @api public
36
- **/
37
- function EventSource (url, eventSourceInitDict) {
38
- var readyState = EventSource.CONNECTING;
39
- var headers = eventSourceInitDict && eventSourceInitDict.headers;
40
- var hasNewOrigin = false;
41
- Object.defineProperty(this, 'readyState', {
42
- get: function () {
43
- return readyState
44
- }
45
- });
46
-
47
- Object.defineProperty(this, 'url', {
48
- get: function () {
49
- return url
50
- }
51
- });
52
-
53
- var self = this;
54
- self.reconnectInterval = 1000;
55
- self.connectionInProgress = false;
56
-
57
- function onConnectionClosed (message) {
58
- if (readyState === EventSource.CLOSED) return
59
- readyState = EventSource.CONNECTING;
60
- _emit('error', new Event('error', {message: message}));
61
-
62
- // The url may have been changed by a temporary redirect. If that's the case,
63
- // revert it now, and flag that we are no longer pointing to a new origin
64
- if (reconnectUrl) {
65
- url = reconnectUrl;
66
- reconnectUrl = null;
67
- hasNewOrigin = false;
68
- }
69
- setTimeout(function () {
70
- if (readyState !== EventSource.CONNECTING || self.connectionInProgress) {
71
- return
72
- }
73
- self.connectionInProgress = true;
74
- connect();
75
- }, self.reconnectInterval);
76
- }
77
-
78
- var req;
79
- var lastEventId = '';
80
- if (headers && headers['Last-Event-ID']) {
81
- lastEventId = headers['Last-Event-ID'];
82
- delete headers['Last-Event-ID'];
83
- }
84
-
85
- var discardTrailingNewline = false;
86
- var data = '';
87
- var eventName = '';
88
-
89
- var reconnectUrl = null;
90
-
91
- function connect () {
92
- var options = parse(url);
93
- var isSecure = options.protocol === 'https:';
94
- options.headers = { 'Cache-Control': 'no-cache', 'Accept': 'text/event-stream' };
95
- if (lastEventId) options.headers['Last-Event-ID'] = lastEventId;
96
- if (headers) {
97
- var reqHeaders = hasNewOrigin ? removeUnsafeHeaders(headers) : headers;
98
- for (var i in reqHeaders) {
99
- var header = reqHeaders[i];
100
- if (header) {
101
- options.headers[i] = header;
102
- }
103
- }
104
- }
105
-
106
- // Legacy: this should be specified as `eventSourceInitDict.https.rejectUnauthorized`,
107
- // but for now exists as a backwards-compatibility layer
108
- options.rejectUnauthorized = !(eventSourceInitDict && !eventSourceInitDict.rejectUnauthorized);
109
-
110
- if (eventSourceInitDict && eventSourceInitDict.createConnection !== undefined) {
111
- options.createConnection = eventSourceInitDict.createConnection;
112
- }
113
-
114
- // If specify http proxy, make the request to sent to the proxy server,
115
- // and include the original url in path and Host headers
116
- var useProxy = eventSourceInitDict && eventSourceInitDict.proxy;
117
- if (useProxy) {
118
- var proxy = parse(eventSourceInitDict.proxy);
119
- isSecure = proxy.protocol === 'https:';
120
-
121
- options.protocol = isSecure ? 'https:' : 'http:';
122
- options.path = url;
123
- options.headers.Host = options.host;
124
- options.hostname = proxy.hostname;
125
- options.host = proxy.host;
126
- options.port = proxy.port;
127
- }
128
-
129
- // If https options are specified, merge them into the request options
130
- if (eventSourceInitDict && eventSourceInitDict.https) {
131
- for (var optName in eventSourceInitDict.https) {
132
- if (httpsOptions.indexOf(optName) === -1) {
133
- continue
134
- }
135
-
136
- var option = eventSourceInitDict.https[optName];
137
- if (option !== undefined) {
138
- options[optName] = option;
139
- }
140
- }
141
- }
142
-
143
- // Pass this on to the XHR
144
- if (eventSourceInitDict && eventSourceInitDict.withCredentials !== undefined) {
145
- options.withCredentials = eventSourceInitDict.withCredentials;
146
- }
147
-
148
- req = (isSecure ? https : http).request(options, function (res) {
149
- self.connectionInProgress = false;
150
- // Handle HTTP errors
151
- if (res.statusCode === 500 || res.statusCode === 502 || res.statusCode === 503 || res.statusCode === 504) {
152
- _emit('error', new Event('error', {status: res.statusCode, message: res.statusMessage}));
153
- onConnectionClosed();
154
- return
155
- }
156
-
157
- // Handle HTTP redirects
158
- if (res.statusCode === 301 || res.statusCode === 302 || res.statusCode === 307) {
159
- var location = res.headers.location;
160
- if (!location) {
161
- // Server sent redirect response without Location header.
162
- _emit('error', new Event('error', {status: res.statusCode, message: res.statusMessage}));
163
- return
164
- }
165
- var prevOrigin = getOrigin(url);
166
- var nextOrigin = getOrigin(location);
167
- hasNewOrigin = prevOrigin !== nextOrigin;
168
- if (res.statusCode === 307) reconnectUrl = url;
169
- url = location;
170
- process.nextTick(connect);
171
- return
172
- }
173
-
174
- if (res.statusCode !== 200) {
175
- _emit('error', new Event('error', {status: res.statusCode, message: res.statusMessage}));
176
- return self.close()
177
- }
178
-
179
- readyState = EventSource.OPEN;
180
- res.on('close', function () {
181
- res.removeAllListeners('close');
182
- res.removeAllListeners('end');
183
- onConnectionClosed();
184
- });
185
-
186
- res.on('end', function () {
187
- res.removeAllListeners('close');
188
- res.removeAllListeners('end');
189
- onConnectionClosed();
190
- });
191
- _emit('open', new Event('open'));
192
-
193
- // text/event-stream parser adapted from webkit's
194
- // Source/WebCore/page/EventSource.cpp
195
- var isFirst = true;
196
- var buf;
197
- var startingPos = 0;
198
- var startingFieldLength = -1;
199
- res.on('data', function (chunk) {
200
- buf = buf ? Buffer.concat([buf, chunk]) : chunk;
201
- if (isFirst && hasBom(buf)) {
202
- buf = buf.slice(bom.length);
203
- }
204
-
205
- isFirst = false;
206
- var pos = 0;
207
- var length = buf.length;
208
-
209
- while (pos < length) {
210
- if (discardTrailingNewline) {
211
- if (buf[pos] === lineFeed) {
212
- ++pos;
213
- }
214
- discardTrailingNewline = false;
215
- }
216
-
217
- var lineLength = -1;
218
- var fieldLength = startingFieldLength;
219
- var c;
220
-
221
- for (var i = startingPos; lineLength < 0 && i < length; ++i) {
222
- c = buf[i];
223
- if (c === colon) {
224
- if (fieldLength < 0) {
225
- fieldLength = i - pos;
226
- }
227
- } else if (c === carriageReturn) {
228
- discardTrailingNewline = true;
229
- lineLength = i - pos;
230
- } else if (c === lineFeed) {
231
- lineLength = i - pos;
232
- }
233
- }
234
-
235
- if (lineLength < 0) {
236
- startingPos = length - pos;
237
- startingFieldLength = fieldLength;
238
- break
239
- } else {
240
- startingPos = 0;
241
- startingFieldLength = -1;
242
- }
243
-
244
- parseEventStreamLine(buf, pos, fieldLength, lineLength);
245
-
246
- pos += lineLength + 1;
247
- }
248
-
249
- if (pos === length) {
250
- buf = void 0;
251
- } else if (pos > 0) {
252
- buf = buf.slice(pos);
253
- }
254
- });
255
- });
256
-
257
- req.on('error', function (err) {
258
- self.connectionInProgress = false;
259
- onConnectionClosed(err.message);
260
- });
261
-
262
- if (req.setNoDelay) req.setNoDelay(true);
263
- req.end();
264
- }
265
-
266
- connect();
267
-
268
- function _emit () {
269
- if (self.listeners(arguments[0]).length > 0) {
270
- self.emit.apply(self, arguments);
271
- }
272
- }
273
-
274
- this._close = function () {
275
- if (readyState === EventSource.CLOSED) return
276
- readyState = EventSource.CLOSED;
277
- if (req.abort) req.abort();
278
- if (req.xhr && req.xhr.abort) req.xhr.abort();
279
- };
280
-
281
- function parseEventStreamLine (buf, pos, fieldLength, lineLength) {
282
- if (lineLength === 0) {
283
- if (data.length > 0) {
284
- var type = eventName || 'message';
285
- _emit(type, new MessageEvent(type, {
286
- data: data.slice(0, -1), // remove trailing newline
287
- lastEventId: lastEventId,
288
- origin: getOrigin(url)
289
- }));
290
- data = '';
291
- }
292
- eventName = void 0;
293
- } else if (fieldLength > 0) {
294
- var noValue = fieldLength < 0;
295
- var step = 0;
296
- var field = buf.slice(pos, pos + (noValue ? lineLength : fieldLength)).toString();
297
-
298
- if (noValue) {
299
- step = lineLength;
300
- } else if (buf[pos + fieldLength + 1] !== space) {
301
- step = fieldLength + 1;
302
- } else {
303
- step = fieldLength + 2;
304
- }
305
- pos += step;
306
-
307
- var valueLength = lineLength - step;
308
- var value = buf.slice(pos, pos + valueLength).toString();
309
-
310
- if (field === 'data') {
311
- data += value + '\n';
312
- } else if (field === 'event') {
313
- eventName = value;
314
- } else if (field === 'id') {
315
- lastEventId = value;
316
- } else if (field === 'retry') {
317
- var retry = parseInt(value, 10);
318
- if (!Number.isNaN(retry)) {
319
- self.reconnectInterval = retry;
320
- }
321
- }
322
- }
323
- }
324
- }
325
-
326
- var eventsource = EventSource;
327
-
328
- util.inherits(EventSource, events.EventEmitter);
329
- EventSource.prototype.constructor = EventSource; // make stacktraces readable
330
-
331
- ['open', 'error', 'message'].forEach(function (method) {
332
- Object.defineProperty(EventSource.prototype, 'on' + method, {
333
- /**
334
- * Returns the current listener
335
- *
336
- * @return {Mixed} the set function or undefined
337
- * @api private
338
- */
339
- get: function get () {
340
- var listener = this.listeners(method)[0];
341
- return listener ? (listener._listener ? listener._listener : listener) : undefined
342
- },
343
-
344
- /**
345
- * Start listening for events
346
- *
347
- * @param {Function} listener the listener
348
- * @return {Mixed} the set function or undefined
349
- * @api private
350
- */
351
- set: function set (listener) {
352
- this.removeAllListeners(method);
353
- this.addEventListener(method, listener);
354
- }
355
- });
356
- });
357
-
358
- /**
359
- * Ready states
360
- */
361
- Object.defineProperty(EventSource, 'CONNECTING', {enumerable: true, value: 0});
362
- Object.defineProperty(EventSource, 'OPEN', {enumerable: true, value: 1});
363
- Object.defineProperty(EventSource, 'CLOSED', {enumerable: true, value: 2});
364
-
365
- EventSource.prototype.CONNECTING = 0;
366
- EventSource.prototype.OPEN = 1;
367
- EventSource.prototype.CLOSED = 2;
368
-
369
- /**
370
- * Closes the connection, if one is made, and sets the readyState attribute to 2 (closed)
371
- *
372
- * @see https://developer.mozilla.org/en-US/docs/Web/API/EventSource/close
373
- * @api public
374
- */
375
- EventSource.prototype.close = function () {
376
- this._close();
377
- };
378
-
379
- /**
380
- * Emulates the W3C Browser based WebSocket interface using addEventListener.
381
- *
382
- * @param {String} type A string representing the event type to listen out for
383
- * @param {Function} listener callback
384
- * @see https://developer.mozilla.org/en/DOM/element.addEventListener
385
- * @see http://dev.w3.org/html5/websockets/#the-websocket-interface
386
- * @api public
387
- */
388
- EventSource.prototype.addEventListener = function addEventListener (type, listener) {
389
- if (typeof listener === 'function') {
390
- // store a reference so we can return the original function again
391
- listener._listener = listener;
392
- this.on(type, listener);
393
- }
394
- };
395
-
396
- /**
397
- * Emulates the W3C Browser based WebSocket interface using dispatchEvent.
398
- *
399
- * @param {Event} event An event to be dispatched
400
- * @see https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent
401
- * @api public
402
- */
403
- EventSource.prototype.dispatchEvent = function dispatchEvent (event) {
404
- if (!event.type) {
405
- throw new Error('UNSPECIFIED_EVENT_TYPE_ERR')
406
- }
407
- // if event is instance of an CustomEvent (or has 'details' property),
408
- // send the detail object as the payload for the event
409
- this.emit(event.type, event.detail);
410
- };
411
-
412
- /**
413
- * Emulates the W3C Browser based WebSocket interface using removeEventListener.
414
- *
415
- * @param {String} type A string representing the event type to remove
416
- * @param {Function} listener callback
417
- * @see https://developer.mozilla.org/en/DOM/element.removeEventListener
418
- * @see http://dev.w3.org/html5/websockets/#the-websocket-interface
419
- * @api public
420
- */
421
- EventSource.prototype.removeEventListener = function removeEventListener (type, listener) {
422
- if (typeof listener === 'function') {
423
- listener._listener = undefined;
424
- this.removeListener(type, listener);
425
- }
426
- };
427
-
428
- /**
429
- * W3C Event
430
- *
431
- * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-Event
432
- * @api private
433
- */
434
- function Event (type, optionalProperties) {
435
- Object.defineProperty(this, 'type', { writable: false, value: type, enumerable: true });
436
- if (optionalProperties) {
437
- for (var f in optionalProperties) {
438
- if (optionalProperties.hasOwnProperty(f)) {
439
- Object.defineProperty(this, f, { writable: false, value: optionalProperties[f], enumerable: true });
440
- }
441
- }
442
- }
443
- }
444
-
445
- /**
446
- * W3C MessageEvent
447
- *
448
- * @see http://www.w3.org/TR/webmessaging/#event-definitions
449
- * @api private
450
- */
451
- function MessageEvent (type, eventInitDict) {
452
- Object.defineProperty(this, 'type', { writable: false, value: type, enumerable: true });
453
- for (var f in eventInitDict) {
454
- if (eventInitDict.hasOwnProperty(f)) {
455
- Object.defineProperty(this, f, { writable: false, value: eventInitDict[f], enumerable: true });
456
- }
457
- }
458
- }
459
-
460
- /**
461
- * Returns a new object of headers that does not include any authorization and cookie headers
462
- *
463
- * @param {Object} headers An object of headers ({[headerName]: headerValue})
464
- * @return {Object} a new object of headers
465
- * @api private
466
- */
467
- function removeUnsafeHeaders (headers) {
468
- var safe = {};
469
- for (var key in headers) {
470
- if (/^(cookie|authorization)$/i.test(key)) {
471
- continue
472
- }
473
-
474
- safe[key] = headers[key];
475
- }
476
-
477
- return safe
478
- }
479
-
480
- /**
481
- * Transform an URL to a valid origin value.
482
- *
483
- * @param {String|Object} url URL to transform to it's origin.
484
- * @returns {String} The origin.
485
- * @api private
486
- */
487
- function getOrigin (url) {
488
- if (typeof url === 'string') url = parse(url);
489
- if (!url.protocol || !url.hostname) return 'null'
490
- return (url.protocol + '//' + url.host).toLowerCase()
491
- }
492
-
493
- export { eventsource as default };
@@ -1,150 +0,0 @@
1
- import require$$0 from 'stream';
2
- import require$$1 from 'util';
3
- import driver from '../../../websocket-driver/lib/websocket/driver.js';
4
- import { __require as requireHeaders } from '../../../websocket-driver/lib/websocket/driver/headers.js';
5
- import api from './websocket/api.js';
6
- import { __require as requireEvent_target } from './websocket/api/event_target.js';
7
- import { __require as requireEvent } from './websocket/api/event.js';
8
-
9
- var eventsource;
10
- var hasRequiredEventsource;
11
-
12
- function requireEventsource () {
13
- if (hasRequiredEventsource) return eventsource;
14
- hasRequiredEventsource = 1;
15
-
16
- var Stream = require$$0.Stream,
17
- util = require$$1,
18
- driver$1 = driver,
19
- Headers = requireHeaders(),
20
- API = api,
21
- EventTarget = requireEvent_target(),
22
- Event = requireEvent();
23
-
24
- var EventSource = function(request, response, options) {
25
- this.writable = true;
26
- options = options || {};
27
-
28
- this._stream = response.socket;
29
- this._ping = options.ping || this.DEFAULT_PING;
30
- this._retry = options.retry || this.DEFAULT_RETRY;
31
-
32
- var scheme = driver$1.isSecureRequest(request) ? 'https:' : 'http:';
33
- this.url = scheme + '//' + request.headers.host + request.url;
34
- this.lastEventId = request.headers['last-event-id'] || '';
35
- this.readyState = API.CONNECTING;
36
-
37
- var headers = new Headers(),
38
- self = this;
39
-
40
- if (options.headers) {
41
- for (var key in options.headers) headers.set(key, options.headers[key]);
42
- }
43
-
44
- if (!this._stream || !this._stream.writable) return;
45
- process.nextTick(function() { self._open(); });
46
-
47
- this._stream.setTimeout(0);
48
- this._stream.setNoDelay(true);
49
-
50
- var handshake = 'HTTP/1.1 200 OK\r\n' +
51
- 'Content-Type: text/event-stream\r\n' +
52
- 'Cache-Control: no-cache, no-store\r\n' +
53
- 'Connection: close\r\n' +
54
- headers.toString() +
55
- '\r\n' +
56
- 'retry: ' + Math.floor(this._retry * 1000) + '\r\n\r\n';
57
-
58
- this._write(handshake);
59
-
60
- this._stream.on('drain', function() { self.emit('drain'); });
61
-
62
- if (this._ping)
63
- this._pingTimer = setInterval(function() { self.ping(); }, this._ping * 1000);
64
-
65
- ['error', 'end'].forEach(function(event) {
66
- self._stream.on(event, function() { self.close(); });
67
- });
68
- };
69
- util.inherits(EventSource, Stream);
70
-
71
- EventSource.isEventSource = function(request) {
72
- if (request.method !== 'GET') return false;
73
- var accept = (request.headers.accept || '').split(/\s*,\s*/);
74
- return accept.indexOf('text/event-stream') >= 0;
75
- };
76
-
77
- var instance = {
78
- DEFAULT_PING: 10,
79
- DEFAULT_RETRY: 5,
80
-
81
- _write: function(chunk) {
82
- if (!this.writable) return false;
83
- try {
84
- return this._stream.write(chunk, 'utf8');
85
- } catch (e) {
86
- return false;
87
- }
88
- },
89
-
90
- _open: function() {
91
- if (this.readyState !== API.CONNECTING) return;
92
-
93
- this.readyState = API.OPEN;
94
-
95
- var event = new Event('open');
96
- event.initEvent('open', false, false);
97
- this.dispatchEvent(event);
98
- },
99
-
100
- write: function(message) {
101
- return this.send(message);
102
- },
103
-
104
- end: function(message) {
105
- if (message !== undefined) this.write(message);
106
- this.close();
107
- },
108
-
109
- send: function(message, options) {
110
- if (this.readyState > API.OPEN) return false;
111
-
112
- message = String(message).replace(/(\r\n|\r|\n)/g, '$1data: ');
113
- options = options || {};
114
-
115
- var frame = '';
116
- if (options.event) frame += 'event: ' + options.event + '\r\n';
117
- if (options.id) frame += 'id: ' + options.id + '\r\n';
118
- frame += 'data: ' + message + '\r\n\r\n';
119
-
120
- return this._write(frame);
121
- },
122
-
123
- ping: function() {
124
- return this._write(':\r\n\r\n');
125
- },
126
-
127
- close: function() {
128
- if (this.readyState > API.OPEN) return false;
129
-
130
- this.readyState = API.CLOSED;
131
- this.writable = false;
132
- if (this._pingTimer) clearInterval(this._pingTimer);
133
- if (this._stream) this._stream.end();
134
-
135
- var event = new Event('close');
136
- event.initEvent('close', false, false);
137
- this.dispatchEvent(event);
138
-
139
- return true;
140
- }
141
- };
142
-
143
- for (var method in instance) EventSource.prototype[method] = instance[method];
144
- for (var key in EventTarget) EventSource.prototype[key] = EventTarget[key];
145
-
146
- eventsource = EventSource;
147
- return eventsource;
148
- }
149
-
150
- export { requireEventsource as __require };
@@ -1,31 +0,0 @@
1
- var event;
2
- var hasRequiredEvent;
3
-
4
- function requireEvent () {
5
- if (hasRequiredEvent) return event;
6
- hasRequiredEvent = 1;
7
-
8
- var Event = function(eventType, options) {
9
- this.type = eventType;
10
- for (var key in options)
11
- this[key] = options[key];
12
- };
13
-
14
- Event.prototype.initEvent = function(eventType, canBubble, cancelable) {
15
- this.type = eventType;
16
- this.bubbles = canBubble;
17
- this.cancelable = cancelable;
18
- };
19
-
20
- Event.prototype.stopPropagation = function() {};
21
- Event.prototype.preventDefault = function() {};
22
-
23
- Event.CAPTURING_PHASE = 1;
24
- Event.AT_TARGET = 2;
25
- Event.BUBBLING_PHASE = 3;
26
-
27
- event = Event;
28
- return event;
29
- }
30
-
31
- export { requireEvent as __require };
@@ -1,41 +0,0 @@
1
- import { __require as requireEvent } from './event.js';
2
-
3
- var event_target;
4
- var hasRequiredEvent_target;
5
-
6
- function requireEvent_target () {
7
- if (hasRequiredEvent_target) return event_target;
8
- hasRequiredEvent_target = 1;
9
-
10
- var Event = requireEvent();
11
-
12
- var EventTarget = {
13
- onopen: null,
14
- onmessage: null,
15
- onerror: null,
16
- onclose: null,
17
-
18
- addEventListener: function(eventType, listener, useCapture) {
19
- this.on(eventType, listener);
20
- },
21
-
22
- removeEventListener: function(eventType, listener, useCapture) {
23
- this.removeListener(eventType, listener);
24
- },
25
-
26
- dispatchEvent: function(event) {
27
- event.target = event.currentTarget = this;
28
- event.eventPhase = Event.AT_TARGET;
29
-
30
- if (this['on' + event.type])
31
- this['on' + event.type](event);
32
-
33
- this.emit(event.type, event);
34
- }
35
- };
36
-
37
- event_target = EventTarget;
38
- return event_target;
39
- }
40
-
41
- export { requireEvent_target as __require };