package chatoyant

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Parameter Make_websocket.Ws

type message =
  1. | Text of string
  2. | Binary of string
type close = {
  1. code : int;
  2. reason : string;
}
type request = {
  1. url : string;
  2. headers : (string * string) list;
  3. protocols : string list;
  4. timeout_ms : int option;
}
type error =
  1. | Timeout of int
  2. | Network of string
  3. | Invalid_response of string
  4. | Closed of close option
type connection
val with_connection : request -> (connection -> 'a) -> ('a, error) result

Open a WebSocket, run the callback while the connection is alive, then close the socket. The callback style keeps runtime resources scoped to their Eio switch while provider modules remain functorized and testable.

val send : connection -> message -> (unit, error) result
val recv : connection -> (message, error) result
val close : ?code:int -> ?reason:string -> connection -> (unit, error) result