mirror of
https://github.com/spacebarchat/server.git
synced 2026-10-23 06:32:34 +00:00
✨ make erlpack optional
This commit is contained in:
1 parent
0da86386d0
commit
3427672659
4 files changed
+18
-7
No files matched your search
@@ -6,6 +6,10 @@ import { setHeartbeat } from "../util/setHeartbeat";
|
||||
import { Send } from "../util/Send";
|
||||
import { CLOSECODES, OPCODES } from "../util/Constants";
|
||||
import { createDeflate } from "zlib";
|
||||
var erlpack: any;
|
||||
try {
|
||||
erlpack = require("erlpack");
|
||||
} catch (error) {}
|
||||
|
||||
// TODO: check rate limit
|
||||
// TODO: specify rate limit in config
|
||||
@@ -19,7 +23,10 @@ export async function Connection(this: Server, socket: WebSocket, request: Incom
|
||||
const { searchParams } = new URL(`http://localhost${request.url}`);
|
||||
// @ts-ignore
|
||||
socket.encoding = searchParams.get("encoding") || "json";
|
||||
if (!["json", "etf"].includes(socket.encoding)) return socket.close(CLOSECODES.Decode_error);
|
||||
if (!["json", "etf"].includes(socket.encoding)) {
|
||||
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;
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
import WebSocket, { Data } from "../util/WebSocket";
|
||||
import erlpack from "erlpack";
|
||||
var erlpack: any;
|
||||
try {
|
||||
erlpack = require("erlpack");
|
||||
} catch (error) {}
|
||||
import OPCodeHandlers from "../opcodes";
|
||||
import { Payload, CLOSECODES } from "../util/Constants";
|
||||
import { instanceOf, Tuple } from "lambert-server";
|
||||
|
||||
+4
-3
@@ -1,7 +1,8 @@
|
||||
import erlpack from "erlpack";
|
||||
import { promisify } from "util";
|
||||
var erlpack: any;
|
||||
try {
|
||||
erlpack = require("erlpack");
|
||||
} catch (error) {}
|
||||
import { Payload } from "../util/Constants";
|
||||
import { deflateSync } from "zlib";
|
||||
|
||||
import WebSocket from "./WebSocket";
|
||||
|
||||
|
||||
Reference in new issue
Block a user