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,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Helpers.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
var ms;
|
|
6
|
-
var hasRequiredMs;
|
|
7
|
-
|
|
8
|
-
function requireMs () {
|
|
9
|
-
if (hasRequiredMs) return ms;
|
|
10
|
-
hasRequiredMs = 1;
|
|
11
|
-
var s = 1000;
|
|
12
|
-
var m = s * 60;
|
|
13
|
-
var h = m * 60;
|
|
14
|
-
var d = h * 24;
|
|
15
|
-
var y = d * 365.25;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Parse or format the given `val`.
|
|
19
|
-
*
|
|
20
|
-
* Options:
|
|
21
|
-
*
|
|
22
|
-
* - `long` verbose formatting [false]
|
|
23
|
-
*
|
|
24
|
-
* @param {String|Number} val
|
|
25
|
-
* @param {Object} [options]
|
|
26
|
-
* @throws {Error} throw an error if val is not a non-empty string or a number
|
|
27
|
-
* @return {String|Number}
|
|
28
|
-
* @api public
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
ms = function(val, options) {
|
|
32
|
-
options = options || {};
|
|
33
|
-
var type = typeof val;
|
|
34
|
-
if (type === 'string' && val.length > 0) {
|
|
35
|
-
return parse(val);
|
|
36
|
-
} else if (type === 'number' && isNaN(val) === false) {
|
|
37
|
-
return options.long ? fmtLong(val) : fmtShort(val);
|
|
38
|
-
}
|
|
39
|
-
throw new Error(
|
|
40
|
-
'val is not a non-empty string or a valid number. val=' +
|
|
41
|
-
JSON.stringify(val)
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Parse the given `str` and return milliseconds.
|
|
47
|
-
*
|
|
48
|
-
* @param {String} str
|
|
49
|
-
* @return {Number}
|
|
50
|
-
* @api private
|
|
51
|
-
*/
|
|
52
|
-
|
|
53
|
-
function parse(str) {
|
|
54
|
-
str = String(str);
|
|
55
|
-
if (str.length > 100) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
|
|
59
|
-
str
|
|
60
|
-
);
|
|
61
|
-
if (!match) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
var n = parseFloat(match[1]);
|
|
65
|
-
var type = (match[2] || 'ms').toLowerCase();
|
|
66
|
-
switch (type) {
|
|
67
|
-
case 'years':
|
|
68
|
-
case 'year':
|
|
69
|
-
case 'yrs':
|
|
70
|
-
case 'yr':
|
|
71
|
-
case 'y':
|
|
72
|
-
return n * y;
|
|
73
|
-
case 'days':
|
|
74
|
-
case 'day':
|
|
75
|
-
case 'd':
|
|
76
|
-
return n * d;
|
|
77
|
-
case 'hours':
|
|
78
|
-
case 'hour':
|
|
79
|
-
case 'hrs':
|
|
80
|
-
case 'hr':
|
|
81
|
-
case 'h':
|
|
82
|
-
return n * h;
|
|
83
|
-
case 'minutes':
|
|
84
|
-
case 'minute':
|
|
85
|
-
case 'mins':
|
|
86
|
-
case 'min':
|
|
87
|
-
case 'm':
|
|
88
|
-
return n * m;
|
|
89
|
-
case 'seconds':
|
|
90
|
-
case 'second':
|
|
91
|
-
case 'secs':
|
|
92
|
-
case 'sec':
|
|
93
|
-
case 's':
|
|
94
|
-
return n * s;
|
|
95
|
-
case 'milliseconds':
|
|
96
|
-
case 'millisecond':
|
|
97
|
-
case 'msecs':
|
|
98
|
-
case 'msec':
|
|
99
|
-
case 'ms':
|
|
100
|
-
return n;
|
|
101
|
-
default:
|
|
102
|
-
return undefined;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* Short format for `ms`.
|
|
108
|
-
*
|
|
109
|
-
* @param {Number} ms
|
|
110
|
-
* @return {String}
|
|
111
|
-
* @api private
|
|
112
|
-
*/
|
|
113
|
-
|
|
114
|
-
function fmtShort(ms) {
|
|
115
|
-
if (ms >= d) {
|
|
116
|
-
return Math.round(ms / d) + 'd';
|
|
117
|
-
}
|
|
118
|
-
if (ms >= h) {
|
|
119
|
-
return Math.round(ms / h) + 'h';
|
|
120
|
-
}
|
|
121
|
-
if (ms >= m) {
|
|
122
|
-
return Math.round(ms / m) + 'm';
|
|
123
|
-
}
|
|
124
|
-
if (ms >= s) {
|
|
125
|
-
return Math.round(ms / s) + 's';
|
|
126
|
-
}
|
|
127
|
-
return ms + 'ms';
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Long format for `ms`.
|
|
132
|
-
*
|
|
133
|
-
* @param {Number} ms
|
|
134
|
-
* @return {String}
|
|
135
|
-
* @api private
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
function fmtLong(ms) {
|
|
139
|
-
return plural(ms, d, 'day') ||
|
|
140
|
-
plural(ms, h, 'hour') ||
|
|
141
|
-
plural(ms, m, 'minute') ||
|
|
142
|
-
plural(ms, s, 'second') ||
|
|
143
|
-
ms + ' ms';
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Pluralization helper.
|
|
148
|
-
*/
|
|
149
|
-
|
|
150
|
-
function plural(ms, n, name) {
|
|
151
|
-
if (ms < n) {
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
if (ms < n * 1.5) {
|
|
155
|
-
return Math.floor(ms / n) + ' ' + name;
|
|
156
|
-
}
|
|
157
|
-
return Math.ceil(ms / n) + ' ' + name + 's';
|
|
158
|
-
}
|
|
159
|
-
return ms;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
export { requireMs as __require };
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
var name = "websocket";
|
|
2
|
-
var description = "Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.";
|
|
3
|
-
var keywords = [
|
|
4
|
-
"websocket",
|
|
5
|
-
"websockets",
|
|
6
|
-
"socket",
|
|
7
|
-
"networking",
|
|
8
|
-
"comet",
|
|
9
|
-
"push",
|
|
10
|
-
"RFC-6455",
|
|
11
|
-
"realtime",
|
|
12
|
-
"server",
|
|
13
|
-
"client"
|
|
14
|
-
];
|
|
15
|
-
var author = "Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)";
|
|
16
|
-
var contributors = [
|
|
17
|
-
"Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"
|
|
18
|
-
];
|
|
19
|
-
var version = "1.0.35";
|
|
20
|
-
var repository = {
|
|
21
|
-
type: "git",
|
|
22
|
-
url: "https://github.com/theturtle32/WebSocket-Node.git"
|
|
23
|
-
};
|
|
24
|
-
var homepage = "https://github.com/theturtle32/WebSocket-Node";
|
|
25
|
-
var engines = {
|
|
26
|
-
node: ">=4.0.0"
|
|
27
|
-
};
|
|
28
|
-
var dependencies = {
|
|
29
|
-
bufferutil: "^4.0.1",
|
|
30
|
-
debug: "^2.2.0",
|
|
31
|
-
"es5-ext": "^0.10.63",
|
|
32
|
-
"typedarray-to-buffer": "^3.1.5",
|
|
33
|
-
"utf-8-validate": "^5.0.2",
|
|
34
|
-
yaeti: "^0.0.6"
|
|
35
|
-
};
|
|
36
|
-
var devDependencies = {
|
|
37
|
-
"buffer-equal": "^1.0.0",
|
|
38
|
-
gulp: "^4.0.2",
|
|
39
|
-
"gulp-jshint": "^2.0.4",
|
|
40
|
-
"jshint-stylish": "^2.2.1",
|
|
41
|
-
jshint: "^2.0.0",
|
|
42
|
-
tape: "^4.9.1"
|
|
43
|
-
};
|
|
44
|
-
var config = {
|
|
45
|
-
verbose: false
|
|
46
|
-
};
|
|
47
|
-
var scripts = {
|
|
48
|
-
test: "tape test/unit/*.js",
|
|
49
|
-
gulp: "gulp"
|
|
50
|
-
};
|
|
51
|
-
var main = "index";
|
|
52
|
-
var directories = {
|
|
53
|
-
lib: "./lib"
|
|
54
|
-
};
|
|
55
|
-
var browser = "lib/browser.js";
|
|
56
|
-
var license = "Apache-2.0";
|
|
57
|
-
var require$$0 = {
|
|
58
|
-
name: name,
|
|
59
|
-
description: description,
|
|
60
|
-
keywords: keywords,
|
|
61
|
-
author: author,
|
|
62
|
-
contributors: contributors,
|
|
63
|
-
version: version,
|
|
64
|
-
repository: repository,
|
|
65
|
-
homepage: homepage,
|
|
66
|
-
engines: engines,
|
|
67
|
-
dependencies: dependencies,
|
|
68
|
-
devDependencies: devDependencies,
|
|
69
|
-
config: config,
|
|
70
|
-
scripts: scripts,
|
|
71
|
-
main: main,
|
|
72
|
-
directories: directories,
|
|
73
|
-
browser: browser,
|
|
74
|
-
license: license
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export { author, browser, config, contributors, require$$0 as default, dependencies, description, devDependencies, directories, engines, homepage, keywords, license, main, name, repository, scripts, version };
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { exports as FastBufferListExports, __module as FastBufferList } from '../../../_virtual/FastBufferList.js';
|
|
2
|
-
import require$$0 from 'buffer';
|
|
3
|
-
import require$$1 from 'events';
|
|
4
|
-
import { __require as requireUtils } from '../lib/utils.js';
|
|
5
|
-
import require$$1$1 from 'util';
|
|
6
|
-
|
|
7
|
-
var hasRequiredFastBufferList;
|
|
8
|
-
|
|
9
|
-
function requireFastBufferList () {
|
|
10
|
-
if (hasRequiredFastBufferList) return FastBufferListExports;
|
|
11
|
-
hasRequiredFastBufferList = 1;
|
|
12
|
-
// This file was copied from https://github.com/substack/node-bufferlist
|
|
13
|
-
// and modified to be able to copy bytes from the bufferlist directly into
|
|
14
|
-
// a pre-existing fixed-size buffer without an additional memory allocation.
|
|
15
|
-
|
|
16
|
-
// bufferlist.js
|
|
17
|
-
// Treat a linked list of buffers as a single variable-size buffer.
|
|
18
|
-
var Buffer = require$$0.Buffer;
|
|
19
|
-
var EventEmitter = require$$1.EventEmitter;
|
|
20
|
-
var bufferAllocUnsafe = requireUtils().bufferAllocUnsafe;
|
|
21
|
-
|
|
22
|
-
FastBufferList.exports = BufferList;
|
|
23
|
-
FastBufferListExports.BufferList = BufferList; // backwards compatibility
|
|
24
|
-
|
|
25
|
-
function BufferList(opts) {
|
|
26
|
-
if (!(this instanceof BufferList)) return new BufferList(opts);
|
|
27
|
-
EventEmitter.call(this);
|
|
28
|
-
var self = this;
|
|
29
|
-
|
|
30
|
-
if (typeof(opts) == 'undefined') opts = {};
|
|
31
|
-
|
|
32
|
-
// default encoding to use for take(). Leaving as 'undefined'
|
|
33
|
-
// makes take() return a Buffer instead.
|
|
34
|
-
self.encoding = opts.encoding;
|
|
35
|
-
|
|
36
|
-
var head = { next : null, buffer : null };
|
|
37
|
-
var last = { next : null, buffer : null };
|
|
38
|
-
|
|
39
|
-
// length can get negative when advanced past the end
|
|
40
|
-
// and this is the desired behavior
|
|
41
|
-
var length = 0;
|
|
42
|
-
self.__defineGetter__('length', function () {
|
|
43
|
-
return length;
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
// keep an offset of the head to decide when to head = head.next
|
|
47
|
-
var offset = 0;
|
|
48
|
-
|
|
49
|
-
// Write to the bufferlist. Emits 'write'. Always returns true.
|
|
50
|
-
self.write = function (buf) {
|
|
51
|
-
if (!head.buffer) {
|
|
52
|
-
head.buffer = buf;
|
|
53
|
-
last = head;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
last.next = { next : null, buffer : buf };
|
|
57
|
-
last = last.next;
|
|
58
|
-
}
|
|
59
|
-
length += buf.length;
|
|
60
|
-
self.emit('write', buf);
|
|
61
|
-
return true;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
self.end = function (buf) {
|
|
65
|
-
if (Buffer.isBuffer(buf)) self.write(buf);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// Push buffers to the end of the linked list. (deprecated)
|
|
69
|
-
// Return this (self).
|
|
70
|
-
self.push = function () {
|
|
71
|
-
var args = [].concat.apply([], arguments);
|
|
72
|
-
args.forEach(self.write);
|
|
73
|
-
return self;
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
// For each buffer, perform some action.
|
|
77
|
-
// If fn's result is a true value, cut out early.
|
|
78
|
-
// Returns this (self).
|
|
79
|
-
self.forEach = function (fn) {
|
|
80
|
-
if (!head.buffer) return bufferAllocUnsafe(0);
|
|
81
|
-
|
|
82
|
-
if (head.buffer.length - offset <= 0) return self;
|
|
83
|
-
var firstBuf = head.buffer.slice(offset);
|
|
84
|
-
|
|
85
|
-
var b = { buffer : firstBuf, next : head.next };
|
|
86
|
-
|
|
87
|
-
while (b && b.buffer) {
|
|
88
|
-
var r = fn(b.buffer);
|
|
89
|
-
if (r) break;
|
|
90
|
-
b = b.next;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return self;
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
// Create a single Buffer out of all the chunks or some subset specified by
|
|
97
|
-
// start and one-past the end (like slice) in bytes.
|
|
98
|
-
self.join = function (start, end) {
|
|
99
|
-
if (!head.buffer) return bufferAllocUnsafe(0);
|
|
100
|
-
if (start == undefined) start = 0;
|
|
101
|
-
if (end == undefined) end = self.length;
|
|
102
|
-
|
|
103
|
-
var big = bufferAllocUnsafe(end - start);
|
|
104
|
-
var ix = 0;
|
|
105
|
-
self.forEach(function (buffer) {
|
|
106
|
-
if (start < (ix + buffer.length) && ix < end) {
|
|
107
|
-
// at least partially contained in the range
|
|
108
|
-
buffer.copy(
|
|
109
|
-
big,
|
|
110
|
-
Math.max(0, ix - start),
|
|
111
|
-
Math.max(0, start - ix),
|
|
112
|
-
Math.min(buffer.length, end - ix)
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
ix += buffer.length;
|
|
116
|
-
if (ix > end) return true; // stop processing past end
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
return big;
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
self.joinInto = function (targetBuffer, targetStart, sourceStart, sourceEnd) {
|
|
123
|
-
if (!head.buffer) return new bufferAllocUnsafe(0);
|
|
124
|
-
if (sourceStart == undefined) sourceStart = 0;
|
|
125
|
-
if (sourceEnd == undefined) sourceEnd = self.length;
|
|
126
|
-
|
|
127
|
-
var big = targetBuffer;
|
|
128
|
-
if (big.length - targetStart < sourceEnd - sourceStart) {
|
|
129
|
-
throw new Error("Insufficient space available in target Buffer.");
|
|
130
|
-
}
|
|
131
|
-
var ix = 0;
|
|
132
|
-
self.forEach(function (buffer) {
|
|
133
|
-
if (sourceStart < (ix + buffer.length) && ix < sourceEnd) {
|
|
134
|
-
// at least partially contained in the range
|
|
135
|
-
buffer.copy(
|
|
136
|
-
big,
|
|
137
|
-
Math.max(targetStart, targetStart + ix - sourceStart),
|
|
138
|
-
Math.max(0, sourceStart - ix),
|
|
139
|
-
Math.min(buffer.length, sourceEnd - ix)
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
ix += buffer.length;
|
|
143
|
-
if (ix > sourceEnd) return true; // stop processing past end
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
return big;
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
// Advance the buffer stream by n bytes.
|
|
150
|
-
// If n the aggregate advance offset passes the end of the buffer list,
|
|
151
|
-
// operations such as .take() will return empty strings until enough data is
|
|
152
|
-
// pushed.
|
|
153
|
-
// Returns this (self).
|
|
154
|
-
self.advance = function (n) {
|
|
155
|
-
offset += n;
|
|
156
|
-
length -= n;
|
|
157
|
-
while (head.buffer && offset >= head.buffer.length) {
|
|
158
|
-
offset -= head.buffer.length;
|
|
159
|
-
head = head.next
|
|
160
|
-
? head.next
|
|
161
|
-
: { buffer : null, next : null }
|
|
162
|
-
;
|
|
163
|
-
}
|
|
164
|
-
if (head.buffer === null) last = { next : null, buffer : null };
|
|
165
|
-
self.emit('advance', n);
|
|
166
|
-
return self;
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
// Take n bytes from the start of the buffers.
|
|
170
|
-
// Returns a string.
|
|
171
|
-
// If there are less than n bytes in all the buffers or n is undefined,
|
|
172
|
-
// returns the entire concatenated buffer string.
|
|
173
|
-
self.take = function (n, encoding) {
|
|
174
|
-
if (n == undefined) n = self.length;
|
|
175
|
-
else if (typeof n !== 'number') {
|
|
176
|
-
encoding = n;
|
|
177
|
-
n = self.length;
|
|
178
|
-
}
|
|
179
|
-
if (!encoding) encoding = self.encoding;
|
|
180
|
-
if (encoding) {
|
|
181
|
-
var acc = '';
|
|
182
|
-
self.forEach(function (buffer) {
|
|
183
|
-
if (n <= 0) return true;
|
|
184
|
-
acc += buffer.toString(
|
|
185
|
-
encoding, 0, Math.min(n,buffer.length)
|
|
186
|
-
);
|
|
187
|
-
n -= buffer.length;
|
|
188
|
-
});
|
|
189
|
-
return acc;
|
|
190
|
-
} else {
|
|
191
|
-
// If no 'encoding' is specified, then return a Buffer.
|
|
192
|
-
return self.join(0, n);
|
|
193
|
-
}
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
// The entire concatenated buffer as a string.
|
|
197
|
-
self.toString = function () {
|
|
198
|
-
return self.take('binary');
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
require$$1$1.inherits(BufferList, EventEmitter);
|
|
202
|
-
return FastBufferListExports;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
export { requireFastBufferList as __require };
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import '../../../../safe-buffer/index.js';
|
|
2
|
-
import require$$1 from 'events';
|
|
3
|
-
import require$$1$1 from 'util';
|
|
4
|
-
import '../streams.js';
|
|
5
|
-
import { __require as requireHeaders } from './headers.js';
|
|
6
|
-
import stream_reader from './stream_reader.js';
|
|
7
|
-
import { exports as safeBufferExports } from '../../../../../_virtual/index9.js';
|
|
8
|
-
import { __exports as streams$1 } from '../../../../../_virtual/streams.js';
|
|
9
|
-
|
|
10
|
-
var Buffer = safeBufferExports.Buffer,
|
|
11
|
-
Emitter = require$$1.EventEmitter,
|
|
12
|
-
util = require$$1$1,
|
|
13
|
-
streams = streams$1,
|
|
14
|
-
Headers = requireHeaders(),
|
|
15
|
-
Reader = stream_reader;
|
|
16
|
-
|
|
17
|
-
var Base = function(request, url, options) {
|
|
18
|
-
Emitter.call(this);
|
|
19
|
-
Base.validateOptions(options || {}, ['maxLength', 'masking', 'requireMasking', 'protocols']);
|
|
20
|
-
|
|
21
|
-
this._request = request;
|
|
22
|
-
this._reader = new Reader();
|
|
23
|
-
this._options = options || {};
|
|
24
|
-
this._maxLength = this._options.maxLength || this.MAX_LENGTH;
|
|
25
|
-
this._headers = new Headers();
|
|
26
|
-
this.__queue = [];
|
|
27
|
-
this.readyState = 0;
|
|
28
|
-
this.url = url;
|
|
29
|
-
|
|
30
|
-
this.io = new streams.IO(this);
|
|
31
|
-
this.messages = new streams.Messages(this);
|
|
32
|
-
this._bindEventListeners();
|
|
33
|
-
};
|
|
34
|
-
util.inherits(Base, Emitter);
|
|
35
|
-
|
|
36
|
-
Base.isWebSocket = function(request) {
|
|
37
|
-
var connection = request.headers.connection || '',
|
|
38
|
-
upgrade = request.headers.upgrade || '';
|
|
39
|
-
|
|
40
|
-
return request.method === 'GET' &&
|
|
41
|
-
connection.toLowerCase().split(/ *, */).indexOf('upgrade') >= 0 &&
|
|
42
|
-
upgrade.toLowerCase() === 'websocket';
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
Base.validateOptions = function(options, validKeys) {
|
|
46
|
-
for (var key in options) {
|
|
47
|
-
if (validKeys.indexOf(key) < 0)
|
|
48
|
-
throw new Error('Unrecognized option: ' + key);
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
var instance = {
|
|
53
|
-
// This is 64MB, small enough for an average VPS to handle without
|
|
54
|
-
// crashing from process out of memory
|
|
55
|
-
MAX_LENGTH: 0x3ffffff,
|
|
56
|
-
|
|
57
|
-
STATES: ['connecting', 'open', 'closing', 'closed'],
|
|
58
|
-
|
|
59
|
-
_bindEventListeners: function() {
|
|
60
|
-
var self = this;
|
|
61
|
-
|
|
62
|
-
// Protocol errors are informational and do not have to be handled
|
|
63
|
-
this.messages.on('error', function() {});
|
|
64
|
-
|
|
65
|
-
this.on('message', function(event) {
|
|
66
|
-
var messages = self.messages;
|
|
67
|
-
if (messages.readable) messages.emit('data', event.data);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
this.on('error', function(error) {
|
|
71
|
-
var messages = self.messages;
|
|
72
|
-
if (messages.readable) messages.emit('error', error);
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
this.on('close', function() {
|
|
76
|
-
var messages = self.messages;
|
|
77
|
-
if (!messages.readable) return;
|
|
78
|
-
messages.readable = messages.writable = false;
|
|
79
|
-
messages.emit('end');
|
|
80
|
-
});
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
getState: function() {
|
|
84
|
-
return this.STATES[this.readyState] || null;
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
addExtension: function(extension) {
|
|
88
|
-
return false;
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
setHeader: function(name, value) {
|
|
92
|
-
if (this.readyState > 0) return false;
|
|
93
|
-
this._headers.set(name, value);
|
|
94
|
-
return true;
|
|
95
|
-
},
|
|
96
|
-
|
|
97
|
-
start: function() {
|
|
98
|
-
if (this.readyState !== 0) return false;
|
|
99
|
-
|
|
100
|
-
if (!Base.isWebSocket(this._request))
|
|
101
|
-
return this._failHandshake(new Error('Not a WebSocket request'));
|
|
102
|
-
|
|
103
|
-
var response;
|
|
104
|
-
|
|
105
|
-
try {
|
|
106
|
-
response = this._handshakeResponse();
|
|
107
|
-
} catch (error) {
|
|
108
|
-
return this._failHandshake(error);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
this._write(response);
|
|
112
|
-
if (this._stage !== -1) this._open();
|
|
113
|
-
return true;
|
|
114
|
-
},
|
|
115
|
-
|
|
116
|
-
_failHandshake: function(error) {
|
|
117
|
-
var headers = new Headers();
|
|
118
|
-
headers.set('Content-Type', 'text/plain');
|
|
119
|
-
headers.set('Content-Length', Buffer.byteLength(error.message, 'utf8'));
|
|
120
|
-
|
|
121
|
-
headers = ['HTTP/1.1 400 Bad Request', headers.toString(), error.message];
|
|
122
|
-
this._write(Buffer.from(headers.join('\r\n'), 'utf8'));
|
|
123
|
-
this._fail('protocol_error', error.message);
|
|
124
|
-
|
|
125
|
-
return false;
|
|
126
|
-
},
|
|
127
|
-
|
|
128
|
-
text: function(message) {
|
|
129
|
-
return this.frame(message);
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
binary: function(message) {
|
|
133
|
-
return false;
|
|
134
|
-
},
|
|
135
|
-
|
|
136
|
-
ping: function() {
|
|
137
|
-
return false;
|
|
138
|
-
},
|
|
139
|
-
|
|
140
|
-
pong: function() {
|
|
141
|
-
return false;
|
|
142
|
-
},
|
|
143
|
-
|
|
144
|
-
close: function(reason, code) {
|
|
145
|
-
if (this.readyState !== 1) return false;
|
|
146
|
-
this.readyState = 3;
|
|
147
|
-
this.emit('close', new Base.CloseEvent(null, null));
|
|
148
|
-
return true;
|
|
149
|
-
},
|
|
150
|
-
|
|
151
|
-
_open: function() {
|
|
152
|
-
this.readyState = 1;
|
|
153
|
-
this.__queue.forEach(function(args) { this.frame.apply(this, args); }, this);
|
|
154
|
-
this.__queue = [];
|
|
155
|
-
this.emit('open', new Base.OpenEvent());
|
|
156
|
-
},
|
|
157
|
-
|
|
158
|
-
_queue: function(message) {
|
|
159
|
-
this.__queue.push(message);
|
|
160
|
-
return true;
|
|
161
|
-
},
|
|
162
|
-
|
|
163
|
-
_write: function(chunk) {
|
|
164
|
-
var io = this.io;
|
|
165
|
-
if (io.readable) io.emit('data', chunk);
|
|
166
|
-
},
|
|
167
|
-
|
|
168
|
-
_fail: function(type, message) {
|
|
169
|
-
this.readyState = 2;
|
|
170
|
-
this.emit('error', new Error(message));
|
|
171
|
-
this.close();
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
for (var key in instance)
|
|
176
|
-
Base.prototype[key] = instance[key];
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Base.ConnectEvent = function() {};
|
|
180
|
-
|
|
181
|
-
Base.OpenEvent = function() {};
|
|
182
|
-
|
|
183
|
-
Base.CloseEvent = function(code, reason) {
|
|
184
|
-
this.code = code;
|
|
185
|
-
this.reason = reason;
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
Base.MessageEvent = function(data) {
|
|
189
|
-
this.data = data;
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
Base.PingEvent = function(data) {
|
|
193
|
-
this.data = data;
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
Base.PongEvent = function(data) {
|
|
197
|
-
this.data = data;
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
var base = Base;
|
|
201
|
-
|
|
202
|
-
export { base as default };
|