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.
- package/dist/es/validate.js +168 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/package.json +2 -6
- package/src/index.ts +0 -3
- package/src/validate.ts +198 -0
- package/dist/es/_virtual/FastBufferList.js +0 -7
- package/dist/es/_virtual/_commonjs-dynamic-modules.js +0 -5
- package/dist/es/_virtual/browser.js +0 -7
- package/dist/es/_virtual/browser2.js +0 -7
- package/dist/es/_virtual/debug.js +0 -7
- package/dist/es/_virtual/event.js +0 -7
- package/dist/es/_virtual/http-parser.js +0 -3
- package/dist/es/_virtual/iframe.js +0 -7
- package/dist/es/_virtual/index.js +0 -7
- package/dist/es/_virtual/index2.js +0 -7
- package/dist/es/_virtual/index3.js +0 -7
- package/dist/es/_virtual/index4.js +0 -7
- package/dist/es/_virtual/index5.js +0 -7
- package/dist/es/_virtual/index6.js +0 -7
- package/dist/es/_virtual/index7.js +0 -3
- package/dist/es/_virtual/index8.js +0 -7
- package/dist/es/_virtual/index9.js +0 -7
- package/dist/es/_virtual/inherits.js +0 -7
- package/dist/es/_virtual/inherits_browser.js +0 -7
- package/dist/es/_virtual/json3.js +0 -7
- package/dist/es/_virtual/node.js +0 -7
- package/dist/es/_virtual/node2.js +0 -7
- package/dist/es/_virtual/stomp-node.js +0 -3
- package/dist/es/_virtual/stomp.js +0 -3
- package/dist/es/_virtual/streams.js +0 -3
- package/dist/es/_virtual/utils.js +0 -3
- package/dist/es/node_modules/bufferutil/fallback.js +0 -43
- package/dist/es/node_modules/bufferutil/index.js +0 -21
- package/dist/es/node_modules/debug/src/browser.js +0 -192
- package/dist/es/node_modules/debug/src/common.js +0 -259
- package/dist/es/node_modules/debug/src/index.js +0 -25
- package/dist/es/node_modules/debug/src/node.js +0 -192
- package/dist/es/node_modules/eventsource/lib/eventsource.js +0 -493
- package/dist/es/node_modules/faye-websocket/lib/faye/eventsource.js +0 -150
- package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event.js +0 -31
- package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js +0 -41
- package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api.js +0 -205
- package/dist/es/node_modules/faye-websocket/lib/faye/websocket/client.js +0 -107
- package/dist/es/node_modules/faye-websocket/lib/faye/websocket.js +0 -47
- package/dist/es/node_modules/has-flag/index.js +0 -17
- package/dist/es/node_modules/http-parser-js/http-parser.js +0 -471
- package/dist/es/node_modules/inherits/inherits.js +0 -14
- package/dist/es/node_modules/inherits/inherits_browser.js +0 -38
- package/dist/es/node_modules/is-typedarray/index.js +0 -51
- package/dist/es/node_modules/json3/lib/json3.js +0 -937
- package/dist/es/node_modules/ms/index.js +0 -172
- package/dist/es/node_modules/node-gyp-build/index.js +0 -21
- package/dist/es/node_modules/node-gyp-build/node-gyp-build.js +0 -222
- package/dist/es/node_modules/querystringify/index.js +0 -120
- package/dist/es/node_modules/requires-port/index.js +0 -38
- package/dist/es/node_modules/safe-buffer/index.js +0 -71
- package/dist/es/node_modules/supports-color/index.js +0 -143
- package/dist/es/node_modules/typedarray-to-buffer/index.js +0 -37
- package/dist/es/node_modules/url-parse/index.js +0 -594
- package/dist/es/node_modules/utf-8-validate/fallback.js +0 -71
- package/dist/es/node_modules/utf-8-validate/index.js +0 -21
- package/dist/es/node_modules/websocket/index.js +0 -15
- package/dist/es/node_modules/websocket/lib/Deprecation.js +0 -42
- package/dist/es/node_modules/websocket/lib/W3CWebSocket.js +0 -268
- package/dist/es/node_modules/websocket/lib/WebSocketClient.js +0 -380
- package/dist/es/node_modules/websocket/lib/WebSocketConnection.js +0 -914
- package/dist/es/node_modules/websocket/lib/WebSocketFrame.js +0 -293
- package/dist/es/node_modules/websocket/lib/WebSocketRequest.js +0 -543
- package/dist/es/node_modules/websocket/lib/WebSocketRouter.js +0 -172
- package/dist/es/node_modules/websocket/lib/WebSocketRouterRequest.js +0 -67
- package/dist/es/node_modules/websocket/lib/WebSocketServer.js +0 -272
- package/dist/es/node_modules/websocket/lib/utils.js +0 -80
- package/dist/es/node_modules/websocket/lib/version.js +0 -13
- package/dist/es/node_modules/websocket/lib/websocket.js +0 -31
- package/dist/es/node_modules/websocket/node_modules/debug/src/browser.js +0 -199
- package/dist/es/node_modules/websocket/node_modules/debug/src/debug.js +0 -215
- package/dist/es/node_modules/websocket/node_modules/debug/src/index.js +0 -25
- package/dist/es/node_modules/websocket/node_modules/debug/src/node.js +0 -266
- package/dist/es/node_modules/websocket/node_modules/ms/index.js +0 -162
- package/dist/es/node_modules/websocket/package.json.js +0 -77
- package/dist/es/node_modules/websocket/vendor/FastBufferList.js +0 -205
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/base.js +0 -202
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/client.js +0 -152
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft75.js +0 -128
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft76.js +0 -124
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/headers.js +0 -44
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/frame.js +0 -21
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/message.js +0 -37
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi.js +0 -492
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/proxy.js +0 -108
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/server.js +0 -119
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver/stream_reader.js +0 -72
- package/dist/es/node_modules/websocket-driver/lib/websocket/driver.js +0 -47
- package/dist/es/node_modules/websocket-driver/lib/websocket/http_parser.js +0 -140
- package/dist/es/node_modules/websocket-driver/lib/websocket/streams.js +0 -150
- package/dist/es/node_modules/websocket-extensions/lib/parser.js +0 -103
- package/dist/es/node_modules/websocket-extensions/lib/pipeline/cell.js +0 -56
- package/dist/es/node_modules/websocket-extensions/lib/pipeline/functor.js +0 -74
- package/dist/es/node_modules/websocket-extensions/lib/pipeline/index.js +0 -50
- package/dist/es/node_modules/websocket-extensions/lib/pipeline/pledge.js +0 -39
- package/dist/es/node_modules/websocket-extensions/lib/pipeline/ring_buffer.js +0 -66
- package/dist/es/node_modules/websocket-extensions/lib/websocket_extensions.js +0 -165
- package/dist/es/node_modules/yaeti/index.js +0 -17
- package/dist/es/node_modules/yaeti/lib/Event.js +0 -24
- package/dist/es/node_modules/yaeti/lib/EventTarget.js +0 -130
- package/dist/es/node_modules/zt-sockjs-client/lib/entry.js +0 -14
- package/dist/es/node_modules/zt-sockjs-client/lib/event/close.js +0 -21
- package/dist/es/node_modules/zt-sockjs-client/lib/event/event.js +0 -22
- package/dist/es/node_modules/zt-sockjs-client/lib/event/eventtarget.js +0 -62
- package/dist/es/node_modules/zt-sockjs-client/lib/event/trans-message.js +0 -19
- package/dist/es/node_modules/zt-sockjs-client/lib/facade.js +0 -40
- package/dist/es/node_modules/zt-sockjs-client/lib/iframe-bootstrap.js +0 -122
- package/dist/es/node_modules/zt-sockjs-client/lib/info-ajax.js +0 -57
- package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe-receiver.js +0 -50
- package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe.js +0 -81
- package/dist/es/node_modules/zt-sockjs-client/lib/info-receiver.js +0 -101
- package/dist/es/node_modules/zt-sockjs-client/lib/location.js +0 -12
- package/dist/es/node_modules/zt-sockjs-client/lib/main.js +0 -413
- package/dist/es/node_modules/zt-sockjs-client/lib/shims.js +0 -449
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/websocket.js +0 -5
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/xhr.js +0 -80
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/eventsource.js +0 -34
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/htmlfile.js +0 -31
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/iframe.js +0 -154
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/jsonp-polling.js +0 -41
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/ajax-based.js +0 -55
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/buffered-sender.js +0 -92
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/iframe-wrap.js +0 -39
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/polling.js +0 -65
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/sender-receiver.js +0 -52
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/eventsource.js +0 -69
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/htmlfile.js +0 -96
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/jsonp.js +0 -193
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/xhr.js +0 -75
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/jsonp.js +0 -104
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xdr.js +0 -113
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-cors.js +0 -19
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-fake.js +0 -28
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-local.js +0 -21
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/websocket.js +0 -108
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-polling.js +0 -30
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-streaming.js +0 -38
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-polling.js +0 -40
- package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-streaming.js +0 -50
- package/dist/es/node_modules/zt-sockjs-client/lib/transport-list.js +0 -28
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/browser.js +0 -29
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/escape.js +0 -53
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/event.js +0 -78
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/iframe.js +0 -205
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/log.js +0 -20
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/object.js +0 -24
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/random.js +0 -30
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/transport.js +0 -52
- package/dist/es/node_modules/zt-sockjs-client/lib/utils/url.js +0 -54
- package/dist/es/node_modules/zt-sockjs-client/lib/version.js +0 -11
- package/dist/es/node_modules/zt-stompjs/index.js +0 -23
- package/dist/es/node_modules/zt-stompjs/lib/stomp-node.js +0 -117
- package/dist/es/node_modules/zt-stompjs/lib/stomp.js +0 -536
- package/dist/es/stompClient.d.ts +0 -55
- package/dist/es/stompClient.js +0 -379
- 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 };
|