package ez_api

  1. Overview
  2. Docs

doc/ez_api.server_utils/EzAPIServerUtils/Directory/index.html

Module EzAPIServerUtils.DirectorySource

Sourcetype 'a directory = {
  1. services : 'a registered_service Dir_types.MethMap.t;
  2. subdirs : 'a static_subdirectories option * 'a variable_subdirectories option;
}
Sourceand 'a static_subdirectories = 'a directory EzAPI.StringMap.t
Sourceand _ variable_subdirectories =
  1. | Arg : 'a1 EzAPI.Arg.t * ('a * 'a1) directory -> 'a variable_subdirectories
Sourceand _ registered_service =
  1. | Http : {
    1. service : ('a, 'i, 'o, 'e, 's) EzAPI.Service.t;
    2. handler : 'a -> 'i -> ('o, 'e) result Answer.t Lwt.t;
    } -> 'a registered_service
  2. | Websocket : {
    1. service : ('a, 'i, 'o, 'e, 's) EzAPI.Service.t;
    2. react : 'a -> 'i -> ('o, 'e) result Lwt.t;
    3. bg : 'a -> (('o, 'e) result -> unit) -> unit Lwt.t;
    4. onclose : ('a -> unit Lwt.t) option;
    5. step : float option;
    } -> 'a registered_service
Sourceval empty : 'a directory
Sourcetype resolved_directory =
  1. | Dir : 'a directory * 'a -> resolved_directory
Sourcetype lookup_error = [
  1. | `Not_found
  2. | `Cannot_parse of EzAPI.Arg.descr * string * string list
  3. | `Method_not_allowed
]
Sourcetype handler_error = [
  1. | EzEncoding.destruct_error
  2. | `unsupported of string option
  3. | `handler_exn of exn
  4. | `handler_error of string
]
Sourcetype ws_frame = [
  1. | `binary of string
  2. | `text of string
  3. | `none
]
Sourcetype lookup_ok = [
  1. | `head
  2. | `options of (string * string) list
  3. | `http of string -> (string Answer.t, handler_error) result Lwt.t
  4. | `ws of (string -> (ws_frame, handler_error) result Lwt.t) * (((ws_frame, handler_error) result -> unit) -> unit Lwt.t) * (unit -> unit Lwt.t) option * float option
]
Sourceval conflict_to_string : Dir_types.conflict -> string
Sourceval resolve : 'a. string list -> 'a directory -> 'a -> string list -> (resolved_directory, lookup_error) result Lwt.t
Sourceval io_to_answer : 'a. code:int -> headers:(string * string) list -> 'a EzAPI.io -> 'a -> string Answer.t
Sourceval ser_handler : 'i 'o 'e. ?content_type:??? -> headers:EzAPI.StringSet.t EzAPI.StringMap.t -> ('a -> 'i -> ('o, 'e) result Answer.t Lwt.t) -> 'a -> 'i EzAPI.io -> 'o EzAPI.io -> ('e -> int * string) -> string -> (string Answer.t, handler_error) result Lwt.t
Sourceval io_to_ws_frame : 'a. 'a EzAPI.io -> 'a -> ws_frame
Sourceval ser_websocket : ('a -> 'b -> ('c, 'd) result Lwt.t) -> ('a -> (('c, 'd) result -> 'e) -> 'f) -> 'a -> 'b EzAPI.IO.io -> 'c EzAPI.io -> 'd Json_encoding.encoding -> (string -> (ws_frame, [> `destruct_exn of exn | `handler_error of string | `handler_exn of exn ]) result Lwt.t) * (((ws_frame, [> `handler_error of string ]) result -> 'e) -> 'f)
Sourceval options_headers : 'a directory -> (EzAPI.StringMap.key * string) list option
Sourceval lookup : ?meth:??? -> ?content_type:??? -> 'a directory -> 'a -> string list -> (lookup_ok, lookup_error) result Lwt.t
Sourceval step_of_path : ('a, 'b) EzAPI.Path.t -> Dir_types.Step.t list
Sourceval conflict : ('a, 'b) EzAPI.Path.t -> 'c -> ('d, Dir_types.Step.t list * 'c) result
Sourceval insert : 'r 'a. ('r, 'a) EzAPI.Path.t -> 'r directory -> ('a directory * ('a directory -> 'r directory), Dir_types.Step.t list * Dir_types.conflict) result
Sourceval register : 'a. t -> ('a, 'b, 'c, 'd, [< `Basic of EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc & EzAPI.Security.basic_desc | `Bearer of EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc & EzAPI.Security.bearer_desc | `Cookie of string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option & string EzAPI.Security.apikey * int64 option | `Header of string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey & string EzAPI.Security.apikey | `Nosecurity of EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited & EzAPI.Security.uninhabited | `Query of EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey & EzAPI.Param.t EzAPI.Security.apikey ] as 'e) EzAPI.Service.t -> (('a, 'b, 'c, 'd, 'e) EzAPI.Service.t -> 'a registered_service) -> (t, Dir_types.Step.t list * Dir_types.conflict) result
Sourceval register_http : t -> ('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ]) EzAPI.Service.t -> ('a -> 'b -> ('c, 'd) result Answer.t Lwt.t) -> (t, Dir_types.Step.t list * Dir_types.conflict) result
Sourceval register_ws : t -> ?onclose:??? -> ?step:??? -> react:('a -> 'b -> ('c, 'd) result Lwt.t) -> bg:('a -> (('c, 'd) result -> unit) -> unit Lwt.t) -> ('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ]) EzAPI.Service.t -> (t, Dir_types.Step.t list * Dir_types.conflict) result