diff --git a/gateway/src/events/Close.ts b/gateway/src/events/Close.ts
index 2f274ec4..1299ad5c 100644
--- a/gateway/src/events/Close.ts
+++ b/gateway/src/events/Close.ts
@@ -1,4 +1,4 @@
-import WebSocket from "../util/WebSocket";
+import { WebSocket } from "@fosscord/gateway";
import { Message } from "./Message";
import { Session } from "@fosscord/util";
diff --git a/gateway/src/events/Connection.ts b/gateway/src/events/Connection.ts
index b3c94eaf..85f92b77 100644
--- a/gateway/src/events/Connection.ts
+++ b/gateway/src/events/Connection.ts
@@ -1,23 +1,31 @@
-import WebSocket, { Server } from "../util/WebSocket";
+import WS from "ws";
+import {
+ setHeartbeat,
+ Send,
+ CLOSECODES,
+ OPCODES,
+ WebSocket,
+} from "@fosscord/gateway";
import { IncomingMessage } from "http";
import { Close } from "./Close";
import { Message } from "./Message";
-import { setHeartbeat } from "../util/setHeartbeat";
-import { Send } from "../util/Send";
-import { CLOSECODES, OPCODES } from "../util/Constants";
import { createDeflate } from "zlib";
import { URL } from "url";
import { Session } from "@fosscord/util";
var erlpack: any;
try {
- erlpack = require("erlpack");
+ erlpack = require("@yukikaze-bot/erlpack");
} catch (error) {}
// TODO: check rate limit
// TODO: specify rate limit in config
// TODO: check msg max size
-export async function Connection(this: Server, socket: WebSocket, request: IncomingMessage) {
+export async function Connection(
+ this: WS.Server,
+ socket: WebSocket,
+ request: IncomingMessage
+) {
try {
socket.on("close", Close);
// @ts-ignore
@@ -27,18 +35,21 @@ export async function Connection(this: Server, socket: WebSocket, request: Incom
// @ts-ignore
socket.encoding = searchParams.get("encoding") || "json";
if (!["json", "etf"].includes(socket.encoding)) {
- if (socket.encoding === "etf" && erlpack) throw new Error("Erlpack is not installed: 'npm i -D erlpack'");
+ if (socket.encoding === "etf" && erlpack)
+ throw new Error("Erlpack is not installed: 'npm i -D erlpack'");
return socket.close(CLOSECODES.Decode_error);
}
// @ts-ignore
socket.version = Number(searchParams.get("version")) || 8;
- if (socket.version != 8) return socket.close(CLOSECODES.Invalid_API_version);
+ if (socket.version != 8)
+ return socket.close(CLOSECODES.Invalid_API_version);
// @ts-ignore
socket.compress = searchParams.get("compress") || "";
if (socket.compress) {
- if (socket.compress !== "zlib-stream") return socket.close(CLOSECODES.Decode_error);
+ if (socket.compress !== "zlib-stream")
+ return socket.close(CLOSECODES.Decode_error);
socket.deflate = createDeflate({ chunkSize: 65535 });
socket.deflate.on("data", (chunk) => socket.send(chunk));
}
diff --git a/gateway/src/events/Message.ts b/gateway/src/events/Message.ts
index a8bf5d78..1f1c4f72 100644
--- a/gateway/src/events/Message.ts
+++ b/gateway/src/events/Message.ts
@@ -1,10 +1,9 @@
-import WebSocket, { Data } from "../util/WebSocket";
+import { WebSocket, Payload, CLOSECODES, OPCODES } from "@fosscord/gateway";
var erlpack: any;
try {
- erlpack = require("erlpack");
+ erlpack = require("@yukikaze-bot/erlpack");
} catch (error) {}
import OPCodeHandlers from "../opcodes";
-import { Payload, CLOSECODES, OPCODES } from "../util/Constants";
import { instanceOf, Tuple } from "lambert-server";
import { check } from "../opcodes/instanceOf";
import WS from "ws";
@@ -20,8 +19,10 @@ export async function Message(this: WebSocket, buffer: WS.Data) {
// TODO: compression
var data: Payload;
- if (this.encoding === "etf" && buffer instanceof Buffer) data = erlpack.unpack(buffer);
- else if (this.encoding === "json" && typeof buffer === "string") data = JSON.parse(buffer);
+ if (this.encoding === "etf" && buffer instanceof Buffer)
+ data = erlpack.unpack(buffer);
+ else if (this.encoding === "json" && typeof buffer === "string")
+ data = JSON.parse(buffer);
else return;
check.call(this, PayloadSchema, data);
@@ -41,6 +42,7 @@ export async function Message(this: WebSocket, buffer: WS.Data) {
return await OPCodeHandler.call(this, data);
} catch (error) {
console.error(error);
- if (!this.CLOSED && this.CLOSING) return this.close(CLOSECODES.Unknown_error);
+ if (!this.CLOSED && this.CLOSING)
+ return this.close(CLOSECODES.Unknown_error);
}
}
|