Parse Gateway Identify and Resume Urls (#2502)

* parse gateway and resume Urls #2475

* fix params

* deno fmt

* convert version to string
This commit is contained in:
TriForMine
2022-10-08 19:09:54 +02:00
committed by GitHub
parent 3154133663
commit 52c2351412

View File

@@ -8,12 +8,14 @@ export async function connect(shard: Shard): Promise<void> {
}
shard.events.connecting?.(shard);
let url = shard.gatewayConfig.url;
let url = new URL(shard.gatewayConfig.url);
// If not connecting to a proxy but directly to discord need to handle resuming
if (url === "wss://gateway.discord.gg") {
url = `${
shard.state === ShardState.Resuming ? shard.resumeGatewayUrl : shard.gatewayConfig.url
}/?v=${shard.gatewayConfig.version}&encoding=json`;
if (url.origin === "wss://gateway.discord.gg") {
if (shard.state === ShardState.Resuming) {
url = new URL(shard.resumeGatewayUrl);
}
url.searchParams.set("v", shard.gatewayConfig.version.toString());
url.searchParams.set("encoding", "json");
}
const socket = new WebSocket(url);