ShokupanWebsocketRouter
Defined in: src/websocket.ts:81
WebSocket Router for organizing WebSocket endpoints.
Provides lifecycle hooks and event-based message routing.
Example
Section titled “Example”const wsRouter = new ShokupanWebsocketRouter();
wsRouter.onUpgrade((ctx) => { if (!ctx.get("authorization")) return false; return true;});
wsRouter.onOpen((ctx, ws) => { return { userId: "123" }; // Sets ws.data and ctx.state});
wsRouter.event("chat.message", (ctx, data) => { ctx.broadcast("chat.message", data);});
app.mount('/ws', wsRouter);Type Parameters
Section titled “Type Parameters”T extends Record<string, any> = any
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ShokupanWebsocketRouter<
T>():ShokupanWebsocketRouter<T>
Returns
Section titled “Returns”ShokupanWebsocketRouter<T>
Properties
Section titled “Properties”middleware
Section titled “middleware”middleware:
any[] =[]
Defined in: src/websocket.ts:84
Accessors
Section titled “Accessors”registry
Section titled “registry”Get Signature
Section titled “Get Signature”get registry():
object
Defined in: src/websocket.ts:310
Registry Accessor to support Dashboard Graph
Returns
Section titled “Returns”object
controllers
Section titled “controllers”controllers:
never[] =[]
events
Section titled “events”events:
any[]
metadata
Section titled “metadata”metadata:
undefined=undefined
middleware
Section titled “middleware”middleware:
never[] =[]
routers
Section titled “routers”routers:
never[] =[]
routes
Section titled “routes”routes:
never[] =[]
Methods
Section titled “Methods”event()
Section titled “event()”event(
name,handler):this
Defined in: src/websocket.ts:167
Register an event handler.
Parameters
Section titled “Parameters”string
Event name
handler
Section titled “handler”EventHandler<T>
Handler function
Returns
Section titled “Returns”this
Example
Section titled “Example”router.event("chat.message", (ctx, data) => { ctx.broadcast("chat.message", data);});getRoutes()
Section titled “getRoutes()”getRoutes():
any[]
Defined in: src/websocket.ts:303
Returns
Section titled “Returns”any[]
mount()
Section titled “mount()”mount(
prefix,router):this
Defined in: src/websocket.ts:266
Mount a child WebSocket router or controller to share the same connection. Events from the child will be prefixed with the mount path.
Parameters
Section titled “Parameters”prefix
Section titled “prefix”string
Event prefix for the child router (e.g., “chat” makes “message” become “chat.message”)
router
Section titled “router”any
Child WebSocket router or controller to mount
Returns
Section titled “Returns”this
Example
Section titled “Example”const mainRouter = new ShokupanWebsocketRouter();const chatRouter = new ShokupanWebsocketRouter();chatRouter.event("message", (ctx, data) => { ... });
// Events will be accessible as "chat.message"mainRouter.mount("chat", chatRouter);onClose()
Section titled “onClose()”onClose(
handler):this
Defined in: src/websocket.ts:131
Register close handler. Called when WebSocket connection is closed.
Parameters
Section titled “Parameters”handler
Section titled “handler”(ctx, ws, code?, reason?) => void | Promise<void>
Returns
Section titled “Returns”this
onError()
Section titled “onError()”onError(
handler):this
Defined in: src/websocket.ts:140
Register error handler. Called when an error occurs.
Parameters
Section titled “Parameters”handler
Section titled “handler”(ctx, ws, error) => void | Promise<void>
Returns
Section titled “Returns”this
onEvent()
Section titled “onEvent()”onEvent(
handler):this
Defined in: src/websocket.ts:113
Register event middleware handler. Called before routing to specific event handlers. Return false or throw to prevent event routing.
Parameters
Section titled “Parameters”handler
Section titled “handler”(ctx, ws, event, data) => boolean | void | Promise<boolean | void>
Returns
Section titled “Returns”this
onMessage()
Section titled “onMessage()”onMessage(
handler):this
Defined in: src/websocket.ts:122
Register message handler. Called for every message before event parsing/routing.
Parameters
Section titled “Parameters”handler
Section titled “handler”(ctx, ws, message) => void | Promise<void>
Returns
Section titled “Returns”this
onOpen()
Section titled “onOpen()”onOpen(
handler):this
Defined in: src/websocket.ts:103
Register open handler. Called after WebSocket connection is established. Return value is automatically set to both ws.data and ctx.state.
Parameters
Section titled “Parameters”handler
Section titled “handler”(ctx, ws) => any
Returns
Section titled “Returns”this
onStop()
Section titled “onStop()”onStop(
handler):this
Defined in: src/websocket.ts:149
Register stop handler. Called when the server is stopped.
Parameters
Section titled “Parameters”handler
Section titled “handler”(app) => void | Promise<void>
Returns
Section titled “Returns”this
onUpgrade()
Section titled “onUpgrade()”onUpgrade(
handler):this
Defined in: src/websocket.ts:93
Register upgrade validation handler. Called when HTTP upgrade request is received. Return false to reject the upgrade.
Parameters
Section titled “Parameters”handler
Section titled “handler”(ctx) => boolean | void | Promise<boolean | void>
Returns
Section titled “Returns”this