addWebsocketHandler

open fun addWebsocketHandler(path: String? = null, origin: String? = null, protocols: List<String>? = null, callback: ServerWebsocketCallback)

Adds a WebSocket handler to @server for requests prefixed by @path.

If @path is null or "/", then this will be the default handler for all requests that don't have a more specific handler.

When a path has a WebSocket handler registered, @server will check incoming requests for WebSocket handshakes after all other handlers have run (unless some earlier handler has already set a status code on the message), and update the request's status, response headers, and response body accordingly.

If @origin is non-null, then only requests containing a matching "Origin" header will be accepted. If @protocols is non-null, then only requests containing a compatible "Sec-WebSocket-Protocols" header will be accepted. More complicated requirements can be handled by adding a normal handler to @path, and having it perform whatever checks are needed and setting a failure status code if the handshake should be rejected.

Parameters

path

the toplevel path for the handler

origin

the origin of the connection

protocols

the protocols supported by this handler

callback

callback to invoke for successful WebSocket requests under @path