-
Notifications
You must be signed in to change notification settings - Fork 0
/
on-command-request-validation-error.ts
27 lines (22 loc) · 1.25 KB
/
on-command-request-validation-error.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import type WebSocket from 'ws';
import type { AnyBody, GenericWsApi } from 'yaschema-ws-api';
interface OnCommandRequestValidationErrorHandlerArgs {
api: GenericWsApi;
command: string;
/** This will be undefined in cases where we didn't get to deserialize the request */
req: AnyBody;
rawData: WebSocket.Data;
invalidPart: 'body';
validationError: string;
}
let globalOnCommandRequestValidationErrorHandler: (args: OnCommandRequestValidationErrorHandlerArgs) => void = () => {};
/** Gets the configured function that will be called whenever a request validation error occurs */
export const getOnCommandRequestValidationErrorHandler = () => globalOnCommandRequestValidationErrorHandler;
/** Sets the configured function that will be called whenever a request validation error occurs */
export const setOnCommandRequestValidationErrorHandler = (handler: (args: OnCommandRequestValidationErrorHandlerArgs) => void) => {
globalOnCommandRequestValidationErrorHandler = handler;
};
/** Triggers the configured function that will be called whenever a request validation error occurs */
export const triggerOnCommandRequestValidationErrorHandler = (args: OnCommandRequestValidationErrorHandlerArgs) => {
globalOnCommandRequestValidationErrorHandler(args);
};