package tiny_httpd
Module Tiny_httpd_wsSource
Websockets for Tiny_httpd.
This sub-library (tiny_httpd.ws) exports a small implementation for a websocket server. It has no additional dependencies.
Synchronization primitive used to allow both the reader to reply to "ping", and the handler to send messages, without stepping on each other's toes.
Source
type handler =
unit Tiny_httpd_core.Request.t ->
Tiny_httpd_core.IO.Input.t ->
Tiny_httpd_core.IO.Output.t ->
unitWebsocket handler
Source
val upgrade :
?with_lock:With_lock.t ->
Tiny_httpd_core.IO.Input.t ->
Tiny_httpd_core.IO.Output.t ->
Tiny_httpd_core.IO.Input.t * Tiny_httpd_core.IO.Output.tUpgrade a byte stream to the websocket framing protocol.
Exception that can be raised from IOs inside the handler, when the connection is closed from underneath.
Source
val add_route_handler :
?accept:(unit Tiny_httpd_core.Request.t -> (unit, int * string) result) ->
?accept_ws_protocol:(string -> bool) ->
?accept_origin:(string option -> bool) ->
?middlewares:Tiny_httpd_core.Server.Head_middleware.t list ->
?with_lock:With_lock.builder ->
Tiny_httpd_core.Server.t ->
(Tiny_httpd_core.Server.upgrade_handler,
Tiny_httpd_core.Server.upgrade_handler)
Tiny_httpd_core.Route.t ->
handler ->
unitAdd a route handler for a websocket endpoint.