Module EzAPI

module Arg : sig ... end
module Url : sig ... end
module Security : sig ... end
module Param : sig ... end
module Err : sig ... end
module Meth : sig ... end
module Service : sig ... end
module Mime : sig ... end
module Path : sig ... end
module Doc : sig ... end
module Error_codes : sig ... end
module Req : sig ... end
module IO = Service.IO
module TYPES : sig ... end
include TYPES
include Url.TYPES
type base_url =
| BASE of string
type url =
| URL of string
type param_value =
| I of int
| S of string
| B of bool
| LS of string list
type ip_info = {
ip_ip : string;
mutable ip_last : float;
mutable ip_nb : int;
ip_country : string * string;
}
type no_security = Security.none
type 'b io = 'b IO.io =
| Empty : unit io
| Json : 'a Json_encoding.encoding -> 'a io
| Raw : Mime.t list -> string io
type ('args, 'input, 'output, 'error, 'security) service = {
s : ('args'input'output'error'security) Service.t;
doc : Doc.t;
}
type ('output, 'error, 'security) service0 = (Req.t, unit, 'output'error'security) service
type ('arg, 'output, 'error, 'security) service1 = (Req.t * 'arg, unit, 'output'error'security) service
type ('arg1, 'arg2, 'output, 'error, 'security) service2 = ((Req.t * 'arg1) * 'arg2, unit, 'output'error'security) service
type ('input, 'output, 'error, 'security) post_service0 = (Req.t'input'output'error'security) service
type ('arg, 'input, 'output, 'error, 'security) post_service1 = (Req.t * 'arg'input'output'error'security) service
type ('arg1, 'arg2, 'input, 'output, 'error, 'security) post_service2 = ((Req.t * 'arg1) * 'arg2'input'output'error'security) service
type ('input, 'output, 'error, 'security) ws_service0 = (Req.t'input'output'error'security) service
type ('arg, 'input, 'output, 'error, 'security) ws_service1 = (Req.t * 'arg'input'output'error'security) service
type ('arg1, 'arg2, 'input, 'output, 'error, 'security) ws_service2 = ((Req.t * 'arg1) * 'arg2'input'output'error'security) service
val warnings : string list Stdlib.ref
val warning : string -> unit
val warnings : (string -> unit) -> unit
val encode_params : ('a'b'c'd[< Security.scheme ]) Service.t -> (Param.t * param_value) list -> string
val forge : Url.base_url -> ('a'b'c'd[< Security.scheme ]) service -> 'a -> (Param.t * param_value) list -> Url.url
val forge0 : Url.base_url -> (Req.t'a'b'c[< Security.scheme ]) service -> (Param.t * param_value) list -> Url.url
val forge1 : Url.base_url -> (Req.t * 'a'b'c'd[< Security.scheme ]) service -> 'a -> (Param.t * param_value) list -> Url.url
val forge2 : Url.base_url -> ((Req.t * 'a) * 'b'c'd'e[< Security.scheme ]) service -> 'a -> 'b -> (Param.t * param_value) list -> Url.url
val raw_service : i. ?⁠section:Doc.section -> ?⁠name:string -> ?⁠descr:string -> ?⁠meth:Meth.t -> input:'i io -> output:'o io -> ?⁠errors:'e Err.case list -> ?⁠params:Param.t list -> ?⁠security:[< Security.scheme ] as 'b list -> ?⁠register:bool -> ?⁠input_example:'i -> ?⁠output_example:'o -> (Req.t'a) Path.t -> ('a'i'o'e'b) service
val post_service : ?⁠section:Doc.section -> ?⁠name:string -> ?⁠descr:string -> ?⁠meth:Meth.t -> input:'a Json_encoding.encoding -> output:'b Json_encoding.encoding -> ?⁠errors:'c Err.case list -> ?⁠params:Param.t list -> ?⁠security:[< Security.scheme ] as 'd list -> ?⁠register:bool -> ?⁠input_example:'a -> ?⁠output_example:'b -> (Req.t'e) Path.t -> ('e'a'b'c'd) service
val service : ?⁠section:Doc.section -> ?⁠name:string -> ?⁠descr:string -> ?⁠meth:Meth.t -> output:'a Json_encoding.encoding -> ?⁠errors:'b Err.case list -> ?⁠params:Param.t list -> ?⁠security:[< Security.scheme ] as 'c list -> ?⁠register:bool -> ?⁠output_example:'a -> (Req.t'd) Path.t -> ('d, unit, 'a'b'c) service
val ws_service : ?⁠section:Doc.section -> ?⁠name:string -> ?⁠descr:string -> input:'a io -> output:'b io -> ?⁠errors:'c Err.case list -> ?⁠params:Param.t list -> ?⁠security:[< Security.scheme ] as 'd list -> ?⁠register:bool -> ?⁠output_example:'b -> (Req.t'e) Path.t -> ('e'a'b'c'd) service
val register : ('a'b'c'd[< Security.scheme ] as 'e) service -> ('a'b'c'd'e) Service.t
val id : ('a'b'c'd[< Security.scheme ]) service -> int
module Legacy : sig ... end