diff options
author | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-08-30 15:05:23 +1000 |
---|---|---|
committer | Madeline <46743919+MaddyUnderStars@users.noreply.github.com> | 2022-08-30 15:08:18 +1000 |
commit | 16315a3170ec018a834e68360e06b506415446d2 (patch) | |
tree | 90cfe456040fce35b904e88462886e3c73a2f3f2 /src/gateway/opcodes/instanceOf.ts | |
parent | Start listening after database and config has been loaded (diff) | |
parent | Oop, deprecated typeorm call (diff) | |
download | server-16315a3170ec018a834e68360e06b506415446d2.tar.xz |
Merge branch 'staging' into dev/Maddy/fix/listeningAfterDb
Diffstat (limited to 'src/gateway/opcodes/instanceOf.ts')
-rw-r--r-- | src/gateway/opcodes/instanceOf.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gateway/opcodes/instanceOf.ts b/src/gateway/opcodes/instanceOf.ts new file mode 100644 index 00000000..95d74963 --- /dev/null +++ b/src/gateway/opcodes/instanceOf.ts @@ -0,0 +1,18 @@ +import { WebSocket } from "@fosscord/gateway"; +import { instanceOf } from "@fosscord/util"; +import { CLOSECODES } from "../util/Constants"; + +export function check(this: WebSocket, schema: any, data: any) { + try { + const error = instanceOf(schema, data, { path: "body" }); + if (error !== true) { + throw error; + } + return true; + } catch (error) { + console.error(error); + // invalid payload + this.close(CLOSECODES.Decode_error); + throw error; + } +} |