wapi-client 0.6.11 → 0.6.12
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.
|
@@ -2278,6 +2278,7 @@ var require_websocket = __commonJS({
|
|
|
2278
2278
|
let req;
|
|
2279
2279
|
if (opts.followRedirects) {
|
|
2280
2280
|
if (websocket._redirects === 0) {
|
|
2281
|
+
websocket._originalSecure = isSecure;
|
|
2281
2282
|
websocket._originalHost = parsedUrl.host;
|
|
2282
2283
|
const headers = options && options.headers;
|
|
2283
2284
|
options = __spreadProps(__spreadValues({}, options), { headers: {} });
|
|
@@ -2286,11 +2287,15 @@ var require_websocket = __commonJS({
|
|
|
2286
2287
|
options.headers[key2.toLowerCase()] = value;
|
|
2287
2288
|
}
|
|
2288
2289
|
}
|
|
2289
|
-
} else if (websocket.listenerCount("redirect") === 0
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2290
|
+
} else if (websocket.listenerCount("redirect") === 0) {
|
|
2291
|
+
const isSameHost = parsedUrl.host === websocket._originalHost;
|
|
2292
|
+
if (!isSameHost || websocket._originalSecure && !isSecure) {
|
|
2293
|
+
delete opts.headers.authorization;
|
|
2294
|
+
delete opts.headers.cookie;
|
|
2295
|
+
if (!isSameHost)
|
|
2296
|
+
delete opts.headers.host;
|
|
2297
|
+
opts.auth = void 0;
|
|
2298
|
+
}
|
|
2294
2299
|
}
|
|
2295
2300
|
if (opts.auth && !options.headers.authorization) {
|
|
2296
2301
|
options.headers.authorization = "Basic " + Buffer.from(opts.auth).toString("base64");
|
|
@@ -2340,6 +2345,10 @@ var require_websocket = __commonJS({
|
|
|
2340
2345
|
if (websocket.readyState !== WebSocket2.CONNECTING)
|
|
2341
2346
|
return;
|
|
2342
2347
|
req = websocket._req = null;
|
|
2348
|
+
if (res.headers.upgrade.toLowerCase() !== "websocket") {
|
|
2349
|
+
abortHandshake(websocket, socket, "Invalid Upgrade header");
|
|
2350
|
+
return;
|
|
2351
|
+
}
|
|
2343
2352
|
const digest = createHash("sha1").update(key + GUID).digest("base64");
|
|
2344
2353
|
if (res.headers["sec-websocket-accept"] !== digest) {
|
|
2345
2354
|
abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header");
|
|
@@ -2815,10 +2824,31 @@ var require_websocket_server = __commonJS({
|
|
|
2815
2824
|
}
|
|
2816
2825
|
handleUpgrade(req, socket, head, cb) {
|
|
2817
2826
|
socket.on("error", socketOnError);
|
|
2818
|
-
const key = req.headers["sec-websocket-key"]
|
|
2827
|
+
const key = req.headers["sec-websocket-key"];
|
|
2819
2828
|
const version2 = +req.headers["sec-websocket-version"];
|
|
2820
|
-
if (req.method !== "GET"
|
|
2821
|
-
|
|
2829
|
+
if (req.method !== "GET") {
|
|
2830
|
+
const message = "Invalid HTTP method";
|
|
2831
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);
|
|
2832
|
+
return;
|
|
2833
|
+
}
|
|
2834
|
+
if (req.headers.upgrade.toLowerCase() !== "websocket") {
|
|
2835
|
+
const message = "Invalid Upgrade header";
|
|
2836
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
2837
|
+
return;
|
|
2838
|
+
}
|
|
2839
|
+
if (!key || !keyRegex.test(key)) {
|
|
2840
|
+
const message = "Missing or invalid Sec-WebSocket-Key header";
|
|
2841
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
2842
|
+
return;
|
|
2843
|
+
}
|
|
2844
|
+
if (version2 !== 8 && version2 !== 13) {
|
|
2845
|
+
const message = "Missing or invalid Sec-WebSocket-Version header";
|
|
2846
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
2847
|
+
return;
|
|
2848
|
+
}
|
|
2849
|
+
if (!this.shouldHandle(req)) {
|
|
2850
|
+
abortHandshake(socket, 400);
|
|
2851
|
+
return;
|
|
2822
2852
|
}
|
|
2823
2853
|
const secWebSocketProtocol = req.headers["sec-websocket-protocol"];
|
|
2824
2854
|
let protocols = /* @__PURE__ */ new Set();
|
|
@@ -2826,7 +2856,9 @@ var require_websocket_server = __commonJS({
|
|
|
2826
2856
|
try {
|
|
2827
2857
|
protocols = subprotocol.parse(secWebSocketProtocol);
|
|
2828
2858
|
} catch (err) {
|
|
2829
|
-
|
|
2859
|
+
const message = "Invalid Sec-WebSocket-Protocol header";
|
|
2860
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
2861
|
+
return;
|
|
2830
2862
|
}
|
|
2831
2863
|
}
|
|
2832
2864
|
const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
|
|
@@ -2840,7 +2872,9 @@ var require_websocket_server = __commonJS({
|
|
|
2840
2872
|
extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
|
|
2841
2873
|
}
|
|
2842
2874
|
} catch (err) {
|
|
2843
|
-
|
|
2875
|
+
const message = "Invalid or unacceptable Sec-WebSocket-Extensions header";
|
|
2876
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
2877
|
+
return;
|
|
2844
2878
|
}
|
|
2845
2879
|
}
|
|
2846
2880
|
if (this.options.verifyClient) {
|
|
@@ -2931,18 +2965,24 @@ var require_websocket_server = __commonJS({
|
|
|
2931
2965
|
this.destroy();
|
|
2932
2966
|
}
|
|
2933
2967
|
function abortHandshake(socket, code, message, headers) {
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2968
|
+
message = message || http.STATUS_CODES[code];
|
|
2969
|
+
headers = __spreadValues({
|
|
2970
|
+
Connection: "close",
|
|
2971
|
+
"Content-Type": "text/html",
|
|
2972
|
+
"Content-Length": Buffer.byteLength(message)
|
|
2973
|
+
}, headers);
|
|
2974
|
+
socket.once("finish", socket.destroy);
|
|
2975
|
+
socket.end(`HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\r
|
|
2942
2976
|
` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message);
|
|
2977
|
+
}
|
|
2978
|
+
function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
|
|
2979
|
+
if (server.listenerCount("wsClientError")) {
|
|
2980
|
+
const err = new Error(message);
|
|
2981
|
+
Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);
|
|
2982
|
+
server.emit("wsClientError", err, socket, req);
|
|
2983
|
+
} else {
|
|
2984
|
+
abortHandshake(socket, code, message);
|
|
2943
2985
|
}
|
|
2944
|
-
socket.removeListener("error", socketOnError);
|
|
2945
|
-
socket.destroy();
|
|
2946
2986
|
}
|
|
2947
2987
|
}
|
|
2948
2988
|
});
|
|
@@ -13645,10 +13685,7 @@ function toQueryString(obj) {
|
|
|
13645
13685
|
return Object.keys(obj).filter((key) => obj[key] !== void 0).map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join("&");
|
|
13646
13686
|
}
|
|
13647
13687
|
function getConnectionUrl(config) {
|
|
13648
|
-
|
|
13649
|
-
if (typeof window !== "undefined") {
|
|
13650
|
-
url = config.host.replace(/^https:/, "wss:");
|
|
13651
|
-
}
|
|
13688
|
+
const url = config.host.replace(/^https:/, "wss:");
|
|
13652
13689
|
return url + "?" + toQueryString({
|
|
13653
13690
|
apikey: config.apikey,
|
|
13654
13691
|
apisecret: config.apisecret,
|
|
@@ -29959,7 +29996,7 @@ var BaseClient = class {
|
|
|
29959
29996
|
};
|
|
29960
29997
|
|
|
29961
29998
|
// package.json
|
|
29962
|
-
var version = "0.6.
|
|
29999
|
+
var version = "0.6.12";
|
|
29963
30000
|
|
|
29964
30001
|
// src/api/ws-client.ts
|
|
29965
30002
|
function createClient(opts) {
|
|
@@ -30151,6 +30188,7 @@ function createClient2(opts) {
|
|
|
30151
30188
|
return new HttpClient(initialConnection, opts);
|
|
30152
30189
|
}
|
|
30153
30190
|
function createConnection2(opts) {
|
|
30191
|
+
const url = opts.host.replace(/^wss:/, "https:");
|
|
30154
30192
|
function onmessage(body) {
|
|
30155
30193
|
return __async(this, null, function* () {
|
|
30156
30194
|
debugLog(`http_createConnection>message(body:${body})`);
|
|
@@ -30171,7 +30209,7 @@ function createConnection2(opts) {
|
|
|
30171
30209
|
this.onmessage(__spreadProps(__spreadValues({}, responseBody), { id: jsonBody.id }));
|
|
30172
30210
|
});
|
|
30173
30211
|
}
|
|
30174
|
-
const $connect = (0, import_node_ponyfill.default)(`${
|
|
30212
|
+
const $connect = (0, import_node_ponyfill.default)(`${url}/api`, {
|
|
30175
30213
|
method: "POST",
|
|
30176
30214
|
headers: {
|
|
30177
30215
|
Authorization: `Bearer ${opts.jwt}`
|