import { NextFunction, Request, Response } from "express"; import { FinallyFunc } from "finally-provider"; import { LogProv } from "@jawis/jab"; import { NodeWS, SocketData, WebsocketRequestHandler, WsMessageListener } from "./internal"; export type MakeUpgradeHandlerDeps = { onError: (error: unknown) => void; logProv: LogProv; finally: FinallyFunc; }; /** * Wrap the WebSocket object in NodeWs, to get: * * - Typed send funtion. * - Strict management of ws state. */ export declare const makeUpgradeHandler: (deps: MakeUpgradeHandlerDeps, onMessage: WsMessageListener, onOpen?: (_nws: NodeWS) => void, onClose?: () => void) => WebsocketRequestHandler; /** * hacky * - when and where to call end() * - can't send error object in end() in node 14. */ export declare const expressErrorsThrow: (err: any, req: Request, res: Response, _next: NextFunction) => void;