✨ make erlpack optional
This commit is contained in:
parent
0da86386d0
commit
3427672659
@ -15,7 +15,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fosscord/server-util": "^1.0.7",
|
"@fosscord/server-util": "^1.0.7",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
"erlpack": "^0.1.3",
|
|
||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
"lambert-server": "^1.1.7",
|
"lambert-server": "^1.1.7",
|
||||||
"missing-native-js-functions": "^1.2.3",
|
"missing-native-js-functions": "^1.2.3",
|
||||||
@ -29,6 +28,7 @@
|
|||||||
"@types/jsonwebtoken": "^8.5.0",
|
"@types/jsonwebtoken": "^8.5.0",
|
||||||
"@types/mongoose-autopopulate": "^0.10.1",
|
"@types/mongoose-autopopulate": "^0.10.1",
|
||||||
"@types/uuid": "^8.3.0",
|
"@types/uuid": "^8.3.0",
|
||||||
"@types/ws": "^7.4.0"
|
"@types/ws": "^7.4.0",
|
||||||
|
"erlpack": "^0.1.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,10 @@ import { setHeartbeat } from "../util/setHeartbeat";
|
|||||||
import { Send } from "../util/Send";
|
import { Send } from "../util/Send";
|
||||||
import { CLOSECODES, OPCODES } from "../util/Constants";
|
import { CLOSECODES, OPCODES } from "../util/Constants";
|
||||||
import { createDeflate } from "zlib";
|
import { createDeflate } from "zlib";
|
||||||
|
var erlpack: any;
|
||||||
|
try {
|
||||||
|
erlpack = require("erlpack");
|
||||||
|
} catch (error) {}
|
||||||
|
|
||||||
// TODO: check rate limit
|
// TODO: check rate limit
|
||||||
// TODO: specify rate limit in config
|
// 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}`);
|
const { searchParams } = new URL(`http://localhost${request.url}`);
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
socket.encoding = searchParams.get("encoding") || "json";
|
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
|
// @ts-ignore
|
||||||
socket.version = Number(searchParams.get("version")) || 8;
|
socket.version = Number(searchParams.get("version")) || 8;
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
import WebSocket, { Data } from "../util/WebSocket";
|
import WebSocket, { Data } from "../util/WebSocket";
|
||||||
import erlpack from "erlpack";
|
var erlpack: any;
|
||||||
|
try {
|
||||||
|
erlpack = require("erlpack");
|
||||||
|
} catch (error) {}
|
||||||
import OPCodeHandlers from "../opcodes";
|
import OPCodeHandlers from "../opcodes";
|
||||||
import { Payload, CLOSECODES } from "../util/Constants";
|
import { Payload, CLOSECODES } from "../util/Constants";
|
||||||
import { instanceOf, Tuple } from "lambert-server";
|
import { instanceOf, Tuple } from "lambert-server";
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import erlpack from "erlpack";
|
var erlpack: any;
|
||||||
import { promisify } from "util";
|
try {
|
||||||
|
erlpack = require("erlpack");
|
||||||
|
} catch (error) {}
|
||||||
import { Payload } from "../util/Constants";
|
import { Payload } from "../util/Constants";
|
||||||
import { deflateSync } from "zlib";
|
|
||||||
|
|
||||||
import WebSocket from "./WebSocket";
|
import WebSocket from "./WebSocket";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user