Module EzAPIServerEio

include module type of struct include EzServerEioUtils end
module Timings = EzServerEioUtils.Timings
module Directory = EzServerEioUtils.Directory
module Answer = EzServerEioUtils.Answer
module GMTime = EzServerEioUtils.GMTime
module Cors = EzServerEioUtils.Cors

Server

type server_kind = EzServerEioUtils.server_kind =
  1. | API of Directory.t
  2. | Root of string * string option
type server = EzServerEioUtils.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 ]
include module type of struct include EzServerEio end
val run : ?catch:(string -> exn -> string EzServerEioUtils.Answer.t) -> ?allow_origin:EzServerEioUtils.Cors.allow_kind -> ?footer:string -> ?addr:string -> env: < net : _ Eio.Net.t ; domain_mgr : _ Eio.Domain_manager.t ; fs : _ Eio.Path.t.. > -> sw:Eio.Switch.t -> (int * EzServerEioUtils.server_kind) list -> unit