Module EzServerEioUtils

module Timings = Timings
module Directory : sig ... end
module Answer = Answer
module Req = EzAPI.Req
module GMTime = GMTime
module Ip = Ip
module Cors = Cors

Server

type server_kind =
  1. | API of Directory.t
  2. | Root of string * string option
type server = {
  1. server_port : int;
  2. server_kind : server_kind;
}

Utils

val return : ?code:int -> ?headers:(string * string) list -> 'a -> 'a Answer.t
val return_ok : ?code:int -> ?headers:(string * string) list -> 'a -> ('a, 'b) Stdlib.result Answer.t
val return_error : ?content:'a -> ?headers:(string * string) list -> int -> ('b, 'a option) Stdlib.result Answer.t

Register Handler

val empty : 'a Directory.directory
val register_res : ('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ] as 'e) EzAPI.service -> ('a -> 'e list -> 'b -> ('c, 'd) Stdlib.result Answer.t) -> Directory.t -> (Directory.t, Dir_types.Step.t list * Dir_types.conflict) Stdlib.result
val register_ws_res : ('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ] as 'e) EzAPI.service -> react:('a -> 'e list -> 'b -> ('c, 'd) Stdlib.result) -> bg:('a -> 'e list -> (('c, 'd) Stdlib.result -> unit) -> unit) -> ?onclose:('a -> unit) -> ?step:float -> Directory.t -> (Directory.t, Dir_types.Step.t list * Dir_types.conflict) Stdlib.result
exception Conflict of Dir_types.Step.t list * Dir_types.conflict
val register : ('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ] as 'e) EzAPI.service -> ('a -> 'e list -> 'b -> ('c, 'd) Stdlib.result Answer.t) -> Directory.t -> Directory.t
val register_ws : ('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ] as 'e) EzAPI.service -> ?onclose:('a -> unit) -> ?step:float -> react:('a -> 'e list -> 'b -> ('c, 'd) Stdlib.result) -> bg:('a -> 'e list -> (('c, 'd) Stdlib.result -> unit) -> unit) -> Directory.t -> Directory.t
val handle : ?meth:([< `DELETE | `GET | `HEAD | `OPTIONS | `PATCH | `POST | `PUT ] as 'a) -> ?content_type:string -> ?ws: (?onclose:(unit -> unit) -> ?step:float -> ?body:string -> react: (string -> (Directory.ws_frame, Directory.handler_error) Stdlib.result) -> bg: (((Directory.ws_frame, Directory.handler_error) Stdlib.result -> unit) -> unit) -> Uuidm.t -> 'b) -> ?allow_origin: [< `all | `custom of string list | `default | `none | `origin default origin ] -> file: (?meth:'a -> ?default:string -> string -> string list -> string Answer.t) -> server_kind -> Req.t -> string list -> string -> [> `http of string Answer.t | `ws of 'b ]