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,152 +0,0 @@
|
|
|
1
|
-
import '../../../../safe-buffer/index.js';
|
|
2
|
-
import require$$0 from 'crypto';
|
|
3
|
-
import require$$2 from 'url';
|
|
4
|
-
import require$$1 from 'util';
|
|
5
|
-
import http_parser from '../http_parser.js';
|
|
6
|
-
import base from './base.js';
|
|
7
|
-
import hybi from './hybi.js';
|
|
8
|
-
import proxy from './proxy.js';
|
|
9
|
-
import { exports as safeBufferExports } from '../../../../../_virtual/index9.js';
|
|
10
|
-
|
|
11
|
-
var Buffer = safeBufferExports.Buffer,
|
|
12
|
-
crypto = require$$0,
|
|
13
|
-
url = require$$2,
|
|
14
|
-
util = require$$1,
|
|
15
|
-
HttpParser = http_parser,
|
|
16
|
-
Base = base,
|
|
17
|
-
Hybi = hybi,
|
|
18
|
-
Proxy = proxy;
|
|
19
|
-
|
|
20
|
-
var Client = function(_url, options) {
|
|
21
|
-
this.version = 'hybi-' + Hybi.VERSION;
|
|
22
|
-
Hybi.call(this, null, _url, options);
|
|
23
|
-
|
|
24
|
-
this.readyState = -1;
|
|
25
|
-
this._key = Client.generateKey();
|
|
26
|
-
this._accept = Hybi.generateAccept(this._key);
|
|
27
|
-
this._http = new HttpParser('response');
|
|
28
|
-
|
|
29
|
-
var uri = url.parse(this.url),
|
|
30
|
-
auth = uri.auth && Buffer.from(uri.auth, 'utf8').toString('base64');
|
|
31
|
-
|
|
32
|
-
if (this.VALID_PROTOCOLS.indexOf(uri.protocol) < 0)
|
|
33
|
-
throw new Error(this.url + ' is not a valid WebSocket URL');
|
|
34
|
-
|
|
35
|
-
this._pathname = (uri.pathname || '/') + (uri.search || '');
|
|
36
|
-
|
|
37
|
-
this._headers.set('Host', uri.host);
|
|
38
|
-
this._headers.set('Upgrade', 'websocket');
|
|
39
|
-
this._headers.set('Connection', 'Upgrade');
|
|
40
|
-
this._headers.set('Sec-WebSocket-Key', this._key);
|
|
41
|
-
this._headers.set('Sec-WebSocket-Version', Hybi.VERSION);
|
|
42
|
-
|
|
43
|
-
if (this._protocols.length > 0)
|
|
44
|
-
this._headers.set('Sec-WebSocket-Protocol', this._protocols.join(', '));
|
|
45
|
-
|
|
46
|
-
if (auth)
|
|
47
|
-
this._headers.set('Authorization', 'Basic ' + auth);
|
|
48
|
-
};
|
|
49
|
-
util.inherits(Client, Hybi);
|
|
50
|
-
|
|
51
|
-
Client.generateKey = function() {
|
|
52
|
-
return crypto.randomBytes(16).toString('base64');
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
var instance = {
|
|
56
|
-
VALID_PROTOCOLS: ['ws:', 'wss:'],
|
|
57
|
-
|
|
58
|
-
proxy: function(origin, options) {
|
|
59
|
-
return new Proxy(this, origin, options);
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
start: function() {
|
|
63
|
-
if (this.readyState !== -1) return false;
|
|
64
|
-
this._write(this._handshakeRequest());
|
|
65
|
-
this.readyState = 0;
|
|
66
|
-
return true;
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
parse: function(chunk) {
|
|
70
|
-
if (this.readyState === 3) return;
|
|
71
|
-
if (this.readyState > 0) return Hybi.prototype.parse.call(this, chunk);
|
|
72
|
-
|
|
73
|
-
this._http.parse(chunk);
|
|
74
|
-
if (!this._http.isComplete()) return;
|
|
75
|
-
|
|
76
|
-
this._validateHandshake();
|
|
77
|
-
if (this.readyState === 3) return;
|
|
78
|
-
|
|
79
|
-
this._open();
|
|
80
|
-
this.parse(this._http.body);
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
_handshakeRequest: function() {
|
|
84
|
-
var extensions = this._extensions.generateOffer();
|
|
85
|
-
if (extensions)
|
|
86
|
-
this._headers.set('Sec-WebSocket-Extensions', extensions);
|
|
87
|
-
|
|
88
|
-
var start = 'GET ' + this._pathname + ' HTTP/1.1',
|
|
89
|
-
headers = [start, this._headers.toString(), ''];
|
|
90
|
-
|
|
91
|
-
return Buffer.from(headers.join('\r\n'), 'utf8');
|
|
92
|
-
},
|
|
93
|
-
|
|
94
|
-
_failHandshake: function(message) {
|
|
95
|
-
message = 'Error during WebSocket handshake: ' + message;
|
|
96
|
-
this.readyState = 3;
|
|
97
|
-
this.emit('error', new Error(message));
|
|
98
|
-
this.emit('close', new Base.CloseEvent(this.ERRORS.protocol_error, message));
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
_validateHandshake: function() {
|
|
102
|
-
this.statusCode = this._http.statusCode;
|
|
103
|
-
this.headers = this._http.headers;
|
|
104
|
-
|
|
105
|
-
if (this._http.error)
|
|
106
|
-
return this._failHandshake(this._http.error.message);
|
|
107
|
-
|
|
108
|
-
if (this._http.statusCode !== 101)
|
|
109
|
-
return this._failHandshake('Unexpected response code: ' + this._http.statusCode);
|
|
110
|
-
|
|
111
|
-
var headers = this._http.headers,
|
|
112
|
-
upgrade = headers['upgrade'] || '',
|
|
113
|
-
connection = headers['connection'] || '',
|
|
114
|
-
accept = headers['sec-websocket-accept'] || '',
|
|
115
|
-
protocol = headers['sec-websocket-protocol'] || '';
|
|
116
|
-
|
|
117
|
-
if (upgrade === '')
|
|
118
|
-
return this._failHandshake("'Upgrade' header is missing");
|
|
119
|
-
if (upgrade.toLowerCase() !== 'websocket')
|
|
120
|
-
return this._failHandshake("'Upgrade' header value is not 'WebSocket'");
|
|
121
|
-
|
|
122
|
-
if (connection === '')
|
|
123
|
-
return this._failHandshake("'Connection' header is missing");
|
|
124
|
-
if (connection.toLowerCase() !== 'upgrade')
|
|
125
|
-
return this._failHandshake("'Connection' header value is not 'Upgrade'");
|
|
126
|
-
|
|
127
|
-
if (accept !== this._accept)
|
|
128
|
-
return this._failHandshake('Sec-WebSocket-Accept mismatch');
|
|
129
|
-
|
|
130
|
-
this.protocol = null;
|
|
131
|
-
|
|
132
|
-
if (protocol !== '') {
|
|
133
|
-
if (this._protocols.indexOf(protocol) < 0)
|
|
134
|
-
return this._failHandshake('Sec-WebSocket-Protocol mismatch');
|
|
135
|
-
else
|
|
136
|
-
this.protocol = protocol;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
try {
|
|
140
|
-
this._extensions.activate(this.headers['sec-websocket-extensions']);
|
|
141
|
-
} catch (e) {
|
|
142
|
-
return this._failHandshake(e.message);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
for (var key in instance)
|
|
148
|
-
Client.prototype[key] = instance[key];
|
|
149
|
-
|
|
150
|
-
var client = Client;
|
|
151
|
-
|
|
152
|
-
export { client as default };
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import '../../../../safe-buffer/index.js';
|
|
2
|
-
import base from './base.js';
|
|
3
|
-
import require$$1 from 'util';
|
|
4
|
-
import { exports as safeBufferExports } from '../../../../../_virtual/index9.js';
|
|
5
|
-
|
|
6
|
-
var Buffer = safeBufferExports.Buffer,
|
|
7
|
-
Base = base,
|
|
8
|
-
util = require$$1;
|
|
9
|
-
|
|
10
|
-
var Draft75 = function(request, url, options) {
|
|
11
|
-
Base.apply(this, arguments);
|
|
12
|
-
this._stage = 0;
|
|
13
|
-
this.version = 'hixie-75';
|
|
14
|
-
|
|
15
|
-
this._headers.set('Upgrade', 'WebSocket');
|
|
16
|
-
this._headers.set('Connection', 'Upgrade');
|
|
17
|
-
this._headers.set('WebSocket-Origin', this._request.headers.origin);
|
|
18
|
-
this._headers.set('WebSocket-Location', this.url);
|
|
19
|
-
};
|
|
20
|
-
util.inherits(Draft75, Base);
|
|
21
|
-
|
|
22
|
-
var instance = {
|
|
23
|
-
close: function() {
|
|
24
|
-
if (this.readyState === 3) return false;
|
|
25
|
-
this.readyState = 3;
|
|
26
|
-
this.emit('close', new Base.CloseEvent(null, null));
|
|
27
|
-
return true;
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
parse: function(chunk) {
|
|
31
|
-
if (this.readyState > 1) return;
|
|
32
|
-
|
|
33
|
-
this._reader.put(chunk);
|
|
34
|
-
|
|
35
|
-
this._reader.eachByte(function(octet) {
|
|
36
|
-
var message;
|
|
37
|
-
|
|
38
|
-
switch (this._stage) {
|
|
39
|
-
case -1:
|
|
40
|
-
this._body.push(octet);
|
|
41
|
-
this._sendHandshakeBody();
|
|
42
|
-
break;
|
|
43
|
-
|
|
44
|
-
case 0:
|
|
45
|
-
this._parseLeadingByte(octet);
|
|
46
|
-
break;
|
|
47
|
-
|
|
48
|
-
case 1:
|
|
49
|
-
this._length = (octet & 0x7F) + 128 * this._length;
|
|
50
|
-
|
|
51
|
-
if (this._closing && this._length === 0) {
|
|
52
|
-
return this.close();
|
|
53
|
-
}
|
|
54
|
-
else if ((octet & 0x80) !== 0x80) {
|
|
55
|
-
if (this._length === 0) {
|
|
56
|
-
this._stage = 0;
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
this._skipped = 0;
|
|
60
|
-
this._stage = 2;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
break;
|
|
64
|
-
|
|
65
|
-
case 2:
|
|
66
|
-
if (octet === 0xFF) {
|
|
67
|
-
this._stage = 0;
|
|
68
|
-
message = Buffer.from(this._buffer).toString('utf8', 0, this._buffer.length);
|
|
69
|
-
this.emit('message', new Base.MessageEvent(message));
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
if (this._length) {
|
|
73
|
-
this._skipped += 1;
|
|
74
|
-
if (this._skipped === this._length)
|
|
75
|
-
this._stage = 0;
|
|
76
|
-
} else {
|
|
77
|
-
this._buffer.push(octet);
|
|
78
|
-
if (this._buffer.length > this._maxLength) return this.close();
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
}, this);
|
|
84
|
-
},
|
|
85
|
-
|
|
86
|
-
frame: function(buffer) {
|
|
87
|
-
if (this.readyState === 0) return this._queue([buffer]);
|
|
88
|
-
if (this.readyState > 1) return false;
|
|
89
|
-
|
|
90
|
-
if (typeof buffer !== 'string') buffer = buffer.toString();
|
|
91
|
-
|
|
92
|
-
var length = Buffer.byteLength(buffer),
|
|
93
|
-
frame = Buffer.allocUnsafe(length + 2);
|
|
94
|
-
|
|
95
|
-
frame[0] = 0x00;
|
|
96
|
-
frame.write(buffer, 1);
|
|
97
|
-
frame[frame.length - 1] = 0xFF;
|
|
98
|
-
|
|
99
|
-
this._write(frame);
|
|
100
|
-
return true;
|
|
101
|
-
},
|
|
102
|
-
|
|
103
|
-
_handshakeResponse: function() {
|
|
104
|
-
var start = 'HTTP/1.1 101 Web Socket Protocol Handshake',
|
|
105
|
-
headers = [start, this._headers.toString(), ''];
|
|
106
|
-
|
|
107
|
-
return Buffer.from(headers.join('\r\n'), 'utf8');
|
|
108
|
-
},
|
|
109
|
-
|
|
110
|
-
_parseLeadingByte: function(octet) {
|
|
111
|
-
if ((octet & 0x80) === 0x80) {
|
|
112
|
-
this._length = 0;
|
|
113
|
-
this._stage = 1;
|
|
114
|
-
} else {
|
|
115
|
-
delete this._length;
|
|
116
|
-
delete this._skipped;
|
|
117
|
-
this._buffer = [];
|
|
118
|
-
this._stage = 2;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
for (var key in instance)
|
|
124
|
-
Draft75.prototype[key] = instance[key];
|
|
125
|
-
|
|
126
|
-
var draft75 = Draft75;
|
|
127
|
-
|
|
128
|
-
export { draft75 as default };
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import '../../../../safe-buffer/index.js';
|
|
2
|
-
import base from './base.js';
|
|
3
|
-
import draft75 from './draft75.js';
|
|
4
|
-
import require$$0 from 'crypto';
|
|
5
|
-
import require$$1 from 'util';
|
|
6
|
-
import { exports as safeBufferExports } from '../../../../../_virtual/index9.js';
|
|
7
|
-
|
|
8
|
-
var Buffer = safeBufferExports.Buffer,
|
|
9
|
-
Base = base,
|
|
10
|
-
Draft75 = draft75,
|
|
11
|
-
crypto = require$$0,
|
|
12
|
-
util = require$$1;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var numberFromKey = function(key) {
|
|
16
|
-
return parseInt((key.match(/[0-9]/g) || []).join(''), 10);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
var spacesInKey = function(key) {
|
|
20
|
-
return (key.match(/ /g) || []).length;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var Draft76 = function(request, url, options) {
|
|
25
|
-
Draft75.apply(this, arguments);
|
|
26
|
-
this._stage = -1;
|
|
27
|
-
this._body = [];
|
|
28
|
-
this.version = 'hixie-76';
|
|
29
|
-
|
|
30
|
-
this._headers.clear();
|
|
31
|
-
|
|
32
|
-
this._headers.set('Upgrade', 'WebSocket');
|
|
33
|
-
this._headers.set('Connection', 'Upgrade');
|
|
34
|
-
this._headers.set('Sec-WebSocket-Origin', this._request.headers.origin);
|
|
35
|
-
this._headers.set('Sec-WebSocket-Location', this.url);
|
|
36
|
-
};
|
|
37
|
-
util.inherits(Draft76, Draft75);
|
|
38
|
-
|
|
39
|
-
var instance = {
|
|
40
|
-
BODY_SIZE: 8,
|
|
41
|
-
|
|
42
|
-
start: function() {
|
|
43
|
-
if (!Draft75.prototype.start.call(this)) return false;
|
|
44
|
-
this._started = true;
|
|
45
|
-
this._sendHandshakeBody();
|
|
46
|
-
return true;
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
close: function() {
|
|
50
|
-
if (this.readyState === 3) return false;
|
|
51
|
-
if (this.readyState === 1) this._write(Buffer.from([0xFF, 0x00]));
|
|
52
|
-
this.readyState = 3;
|
|
53
|
-
this.emit('close', new Base.CloseEvent(null, null));
|
|
54
|
-
return true;
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
_handshakeResponse: function() {
|
|
58
|
-
var headers = this._request.headers,
|
|
59
|
-
key1 = headers['sec-websocket-key1'],
|
|
60
|
-
key2 = headers['sec-websocket-key2'];
|
|
61
|
-
|
|
62
|
-
if (!key1) throw new Error('Missing required header: Sec-WebSocket-Key1');
|
|
63
|
-
if (!key2) throw new Error('Missing required header: Sec-WebSocket-Key2');
|
|
64
|
-
|
|
65
|
-
var number1 = numberFromKey(key1),
|
|
66
|
-
spaces1 = spacesInKey(key1),
|
|
67
|
-
|
|
68
|
-
number2 = numberFromKey(key2),
|
|
69
|
-
spaces2 = spacesInKey(key2);
|
|
70
|
-
|
|
71
|
-
if (number1 % spaces1 !== 0 || number2 % spaces2 !== 0)
|
|
72
|
-
throw new Error('Client sent invalid Sec-WebSocket-Key headers');
|
|
73
|
-
|
|
74
|
-
this._keyValues = [number1 / spaces1, number2 / spaces2];
|
|
75
|
-
|
|
76
|
-
var start = 'HTTP/1.1 101 WebSocket Protocol Handshake',
|
|
77
|
-
headers = [start, this._headers.toString(), ''];
|
|
78
|
-
|
|
79
|
-
return Buffer.from(headers.join('\r\n'), 'binary');
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
_handshakeSignature: function() {
|
|
83
|
-
if (this._body.length < this.BODY_SIZE) return null;
|
|
84
|
-
|
|
85
|
-
var md5 = crypto.createHash('md5'),
|
|
86
|
-
buffer = Buffer.allocUnsafe(8 + this.BODY_SIZE);
|
|
87
|
-
|
|
88
|
-
buffer.writeUInt32BE(this._keyValues[0], 0);
|
|
89
|
-
buffer.writeUInt32BE(this._keyValues[1], 4);
|
|
90
|
-
Buffer.from(this._body).copy(buffer, 8, 0, this.BODY_SIZE);
|
|
91
|
-
|
|
92
|
-
md5.update(buffer);
|
|
93
|
-
return Buffer.from(md5.digest('binary'), 'binary');
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
_sendHandshakeBody: function() {
|
|
97
|
-
if (!this._started) return;
|
|
98
|
-
var signature = this._handshakeSignature();
|
|
99
|
-
if (!signature) return;
|
|
100
|
-
|
|
101
|
-
this._write(signature);
|
|
102
|
-
this._stage = 0;
|
|
103
|
-
this._open();
|
|
104
|
-
|
|
105
|
-
if (this._body.length > this.BODY_SIZE)
|
|
106
|
-
this.parse(this._body.slice(this.BODY_SIZE));
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
_parseLeadingByte: function(octet) {
|
|
110
|
-
if (octet !== 0xFF)
|
|
111
|
-
return Draft75.prototype._parseLeadingByte.call(this, octet);
|
|
112
|
-
|
|
113
|
-
this._closing = true;
|
|
114
|
-
this._length = 0;
|
|
115
|
-
this._stage = 1;
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
for (var key in instance)
|
|
120
|
-
Draft76.prototype[key] = instance[key];
|
|
121
|
-
|
|
122
|
-
var draft76 = Draft76;
|
|
123
|
-
|
|
124
|
-
export { draft76 as default };
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
var headers;
|
|
2
|
-
var hasRequiredHeaders;
|
|
3
|
-
|
|
4
|
-
function requireHeaders () {
|
|
5
|
-
if (hasRequiredHeaders) return headers;
|
|
6
|
-
hasRequiredHeaders = 1;
|
|
7
|
-
|
|
8
|
-
var Headers = function() {
|
|
9
|
-
this.clear();
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
Headers.prototype.ALLOWED_DUPLICATES = ['set-cookie', 'set-cookie2', 'warning', 'www-authenticate'];
|
|
13
|
-
|
|
14
|
-
Headers.prototype.clear = function() {
|
|
15
|
-
this._sent = {};
|
|
16
|
-
this._lines = [];
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
Headers.prototype.set = function(name, value) {
|
|
20
|
-
if (value === undefined) return;
|
|
21
|
-
|
|
22
|
-
name = this._strip(name);
|
|
23
|
-
value = this._strip(value);
|
|
24
|
-
|
|
25
|
-
var key = name.toLowerCase();
|
|
26
|
-
if (!this._sent.hasOwnProperty(key) || this.ALLOWED_DUPLICATES.indexOf(key) >= 0) {
|
|
27
|
-
this._sent[key] = true;
|
|
28
|
-
this._lines.push(name + ': ' + value + '\r\n');
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
Headers.prototype.toString = function() {
|
|
33
|
-
return this._lines.join('');
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
Headers.prototype._strip = function(string) {
|
|
37
|
-
return string.toString().replace(/^ */, '').replace(/ *$/, '');
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
headers = Headers;
|
|
41
|
-
return headers;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export { requireHeaders as __require };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
var Frame = function() {};
|
|
2
|
-
|
|
3
|
-
var instance = {
|
|
4
|
-
final: false,
|
|
5
|
-
rsv1: false,
|
|
6
|
-
rsv2: false,
|
|
7
|
-
rsv3: false,
|
|
8
|
-
opcode: null,
|
|
9
|
-
masked: false,
|
|
10
|
-
maskingKey: null,
|
|
11
|
-
lengthBytes: 1,
|
|
12
|
-
length: 0,
|
|
13
|
-
payload: null
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
for (var key in instance)
|
|
17
|
-
Frame.prototype[key] = instance[key];
|
|
18
|
-
|
|
19
|
-
var frame = Frame;
|
|
20
|
-
|
|
21
|
-
export { frame as default };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import '../../../../../safe-buffer/index.js';
|
|
2
|
-
import { exports as safeBufferExports } from '../../../../../../_virtual/index9.js';
|
|
3
|
-
|
|
4
|
-
var Buffer = safeBufferExports.Buffer;
|
|
5
|
-
|
|
6
|
-
var Message = function() {
|
|
7
|
-
this.rsv1 = false;
|
|
8
|
-
this.rsv2 = false;
|
|
9
|
-
this.rsv3 = false;
|
|
10
|
-
this.opcode = null;
|
|
11
|
-
this.length = 0;
|
|
12
|
-
this._chunks = [];
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
var instance = {
|
|
16
|
-
read: function() {
|
|
17
|
-
return this.data = this.data || Buffer.concat(this._chunks, this.length);
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
pushFrame: function(frame) {
|
|
21
|
-
this.rsv1 = this.rsv1 || frame.rsv1;
|
|
22
|
-
this.rsv2 = this.rsv2 || frame.rsv2;
|
|
23
|
-
this.rsv3 = this.rsv3 || frame.rsv3;
|
|
24
|
-
|
|
25
|
-
if (this.opcode === null) this.opcode = frame.opcode;
|
|
26
|
-
|
|
27
|
-
this._chunks.push(frame.payload);
|
|
28
|
-
this.length += frame.length;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
for (var key in instance)
|
|
33
|
-
Message.prototype[key] = instance[key];
|
|
34
|
-
|
|
35
|
-
var message = Message;
|
|
36
|
-
|
|
37
|
-
export { message as default };
|