package ezresto-directory

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module Answer : sig ... end
type step =
  1. | Static of string
  2. | Dynamic of EzResto.Arg.descr
  3. | DynamicTail of EzResto.Arg.descr

Possible error while registring services.

type conflict =
  1. | CService of EzResto.meth
  2. | CDir
  3. | CBuilder
  4. | CTail
  5. | CTypes of EzResto.Arg.descr * EzResto.Arg.descr
  6. | CType of EzResto.Arg.descr * string list
exception Conflict of step list * conflict
type directory

Dispatch tree

val empty : directory

Empty tree

val prefix : 'a EzResto.Path.t -> directory -> directory
val merge : directory -> directory -> directory
type 'input input =
  1. | No_input : unit input
  2. | Input : 'input Json_encoding.encoding -> 'input input
type ('q, 'i, 'o, 'e) types = {
  1. query : 'q Resto.Query.t;
  2. input : 'i input;
  3. output : 'o Json_encoding.encoding;
  4. error : 'e Json_encoding.encoding;
}
type registered_service =
  1. | Service : {
    1. types : ('q, 'i, 'o, 'e) types;
    2. handler : 'q -> 'i -> ('o, 'e) Answer.t Lwt.t;
    } -> registered_service
type lookup_error = [
  1. | `Not_found
  2. | `Method_not_allowed of EzResto.meth list
  3. | `Cannot_parse_path of string list * EzResto.Arg.descr * string
]
val lookup : directory -> EzResto.meth -> string list -> (registered_service, [> lookup_error ]) result Lwt.t

Resolve a service.

val allowed_methods : directory -> string list -> (EzResto.meth list, [> lookup_error ]) result Lwt.t
val transparent_lookup : directory -> ('meth, 'params, 'query, 'input, 'output, 'error) EzResto.service -> 'params -> 'query -> 'input -> [> ('output, 'error) Answer.t ] Lwt.t
val register : directory -> ('meth, 'params, 'query, 'input, 'output, 'error) EzResto.service -> ('params -> 'query -> 'input -> ('output, 'error) Answer.t Lwt.t) -> directory

Registring handler in service tree.

val register0 : directory -> ('meth, unit, 'q, 'i, 'o, 'e) EzResto.service -> ('q -> 'i -> ('o, 'e) Answer.t Lwt.t) -> directory

Registring handler in service tree. Curryfied variant.

val register1 : directory -> ('meth, unit * 'a, 'q, 'i, 'o, 'e) EzResto.service -> ('a -> 'q -> 'i -> ('o, 'e) Answer.t Lwt.t) -> directory
val register2 : directory -> ('meth, (unit * 'a) * 'b, 'q, 'i, 'o, 'e) EzResto.service -> ('a -> 'b -> 'q -> 'i -> ('o, 'e) Answer.t Lwt.t) -> directory
val register3 : directory -> ('meth, ((unit * 'a) * 'b) * 'c, 'q, 'i, 'o, 'e) EzResto.service -> ('a -> 'b -> 'c -> 'q -> 'i -> ('o, 'e) Answer.t Lwt.t) -> directory
val register4 : directory -> ('meth, (((unit * 'a) * 'b) * 'c) * 'd, 'q, 'i, 'o, 'e) EzResto.service -> ('a -> 'b -> 'c -> 'd -> 'q -> 'i -> ('o, 'e) Answer.t Lwt.t) -> directory
val register5 : directory -> ('meth, ((((unit * 'a) * 'b) * 'c) * 'd) * 'e, 'q, 'i, 'o, 'e) EzResto.service -> ('a -> 'b -> 'c -> 'd -> 'e -> 'q -> 'i -> ('o, 'e) Answer.t Lwt.t) -> directory
val register_dynamic_directory : ?descr:string -> directory -> 'params EzResto.Path.t -> ('params -> directory Lwt.t) -> directory

Registring dynamic subtree.

val register_dynamic_directory1 : ?descr:string -> directory -> (unit * 'a) EzResto.Path.t -> ('a -> directory Lwt.t) -> directory

Registring dynamic subtree. (Curryfied variant)

val register_dynamic_directory2 : ?descr:string -> directory -> ((unit * 'a) * 'b) EzResto.Path.t -> ('a -> 'b -> directory Lwt.t) -> directory
val register_dynamic_directory3 : ?descr:string -> directory -> (((unit * 'a) * 'b) * 'c) EzResto.Path.t -> ('a -> 'b -> 'c -> directory Lwt.t) -> directory
val register_describe_directory_service : directory -> EzResto.description_service -> directory

Registring a description service.

OCaml

Innovation. Community. Security.