package ez_api
Easy API library and tools
Install
Dune Dependency
github.com
Readme
Changelog
LGPL-2.1-only WITH OCaml-LGPL-linking-exception License
Edit opam file
Versions (6)
Authors
Maintainers
Sources
v2.0.0.tar.gz
md5=ed68e0a33325ecf6a3319cafa636d62e
sha512=425c6289d568cf697e8d9977ac43e2ebcdeec8f04f5a17225824d5a37ac700961e5d1283b92aeaebaf58ccfb5b4261bcba1180ab11c267ade0de86b68fd6ca2d
doc/ez_api.server_utils/EzAPIServerUtils/Directory/index.html
Module EzAPIServerUtils.Directory
Source
Source
and 'a directory = {
services : 'a registered_service MethMap.t;
subdirs : 'a static_subdirectories option * 'a variable_subdirectories option;
}
Source
and _ variable_subdirectories =
| Arg : 'a1 EzAPI.Arg.t * ('a * 'a1) directory -> 'a variable_subdirectories
Source
and _ registered_service =
| Http : {
service : ('a, 'i, 'o, 'e, 's) EzAPI.Service.t;
handler : 'a -> 'i -> ('o, 'e) result Answer.t Lwt.t;
} -> 'a registered_service
| Websocket : {
service : ('a, 'i, 'o, 'e, 's) EzAPI.Service.t;
react : 'a -> 'i -> ('o, 'e) result Lwt.t;
bg : 'a -> (('o, 'e) result -> unit) -> unit Lwt.t;
onclose : ('a -> unit Lwt.t) option;
step : float option;
} -> 'a registered_service
Source
type lookup_error = [
| `Not_found
| `Cannot_parse of EzAPI.Arg.descr * string * string list
| `Method_not_allowed
]
Source
type handler_error = [
| EzEncoding.destruct_error
| `unsupported of string option
| `handler_exn of exn
| `handler_error of string
]
Source
type lookup_ok = [
| `head
| `options of (string * string) list
| `http of string -> (string Answer.t, handler_error) result Lwt.t
| `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
]
Source
val resolve :
'a. string list ->
'a directory ->
'a ->
string list ->
(resolved_directory, lookup_error) result Lwt.t
Source
val 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)
Source
val lookup :
?meth:[< `DELETE | `GET | `HEAD | `OPTIONS | `PATCH | `POST | `PUT ] ->
?content_type:string ->
'a directory ->
'a ->
string list ->
(lookup_ok, lookup_error) result Lwt.t
Source
val register :
'a. t ->
('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ] as 'e) EzAPI.Service.t ->
(('a, 'b, 'c, 'd, 'e) EzAPI.Service.t -> 'a registered_service) ->
(t, Step.t list * conflict) result
Source
val register_http :
t ->
('a, 'b, 'c, 'd, [< EzAPI.Security.scheme ]) EzAPI.Service.t ->
('a -> 'b -> ('c, 'd) result Answer.t Lwt.t) ->
(t, Step.t list * conflict) result
Source
val register_ws :
t ->
?onclose:('a -> unit Lwt.t) ->
?step:float ->
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, Step.t list * conflict) result
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>