package resto-directory

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Make.ServiceSource

Services.

Sourcetype (+'meth, 'prefix, 'params, 'query, 'input, 'output, 'error) t = ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) Resto.MakeService(Encoding).t constraint 'meth = [< Resto.meth ]
Sourcetype (+'meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service = ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) t
Sourceval meth : ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service -> 'meth
Sourceval query : ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service -> 'query Resto.Query.t
Sourcetype _ input = _ Resto.MakeService(Encoding).input =
  1. | No_input : unit input
  2. | Input : 'input Encoding.t -> 'input input
Sourceval input_encoding : ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service -> 'input input
Sourceval output_encoding : ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service -> 'output Encoding.t
Sourceval error_encoding : ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service -> 'error Encoding.t
Sourceval get_service : ?description:string -> query:'query Resto.Query.t -> output:'output Encoding.t -> error:'error Encoding.t -> ('prefix, 'params) Resto.Path.t -> ([ `GET ], 'prefix, 'params, 'query, unit, 'output, 'error) service

get_service ?description ~query ~output ~error path is a GET service that is intended to seat at the URI described by path and receive the additional parameters described by query. The value output (resp. error) describe the representation of the successful (resp. failed) returned value for the service.

Note that, whilst get_service declares a service, the resulting service is not registered yet. This is handled in Resto_directory.

post_service, delete_service, put_service, and patch_service are similar to get_service but for the other HTTP methods.

Note that some of these functions take an additional input argument. This is only for the services with methods that expect additional parameters. It is used internally to encode/decode additional parameters passed in a dedicated payload rather than in the path/query parameters.

Sourceval post_service : ?description:string -> query:'query Resto.Query.t -> input:'input Encoding.t -> output:'output Encoding.t -> error:'error Encoding.t -> ('prefix, 'params) Resto.Path.t -> ([ `POST ], 'prefix, 'params, 'query, 'input, 'output, 'error) service
Sourceval delete_service : ?description:string -> query:'query Resto.Query.t -> output:'output Encoding.t -> error:'error Encoding.t -> ('prefix, 'params) Resto.Path.t -> ([ `DELETE ], 'prefix, 'params, 'query, unit, 'output, 'error) service
Sourceval patch_service : ?description:string -> query:'query Resto.Query.t -> input:'input Encoding.t -> output:'output Encoding.t -> error:'error Encoding.t -> ('prefix, 'params) Resto.Path.t -> ([ `PATCH ], 'prefix, 'params, 'query, 'input, 'output, 'error) service
Sourceval put_service : ?description:string -> query:'query Resto.Query.t -> input:'input Encoding.t -> output:'output Encoding.t -> error:'error Encoding.t -> ('prefix, 'params) Resto.Path.t -> ([ `PUT ], 'prefix, 'params, 'query, 'input, 'output, 'error) service
Sourceval prefix : ('prefix, 'inner_prefix) Resto.Path.t -> ('meth, 'inner_prefix, 'params, 'query, 'input, 'output, 'error) service -> ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service
Sourceval subst0 : ([< Resto.meth ] as 'm, 'p, 'p, 'q, 'i, 'o, 'e) service -> ('m, 'p2, 'p2, 'q, 'i, 'o, 'e) service
Sourceval subst1 : ([< Resto.meth ] as 'm, 'p, 'p * 'a, 'q, 'i, 'o, 'e) service -> ('m, 'p2, 'p2 * 'a, 'q, 'i, 'o, 'e) service
Sourceval subst2 : ([< Resto.meth ] as 'm, 'p, ('p * 'a) * 'b, 'q, 'i, 'o, 'e) service -> ('m, 'p2, ('p2 * 'a) * 'b, 'q, 'i, 'o, 'e) service
Sourceval subst3 : ([< Resto.meth ] as 'm, 'p, (('p * 'a) * 'b) * 'c, 'q, 'i, 'o, 'e) service -> ('m, 'p2, (('p2 * 'a) * 'b) * 'c, 'q, 'i, 'o, 'e) service
Sourcetype ('prefix, 'params, 'error) description_service = ([ `GET ], 'prefix, 'params * string list, Resto.Description.request, unit, Encoding.schema Resto.Description.directory, 'error) service
Sourceval description_service : ?description:string -> 'error Encoding.t -> ('prefix, 'params) Resto.Path.t -> ('prefix, 'params, 'error) description_service
Sourcetype 'input request = 'input Resto.MakeService(Encoding).request = {
  1. meth : Resto.meth;
  2. uri : Uri.t;
  3. input : 'input input;
}
Sourceval forge_request : ('meth, unit, 'params, 'query, 'input, 'output, 'error) service -> ?base:Uri.t -> 'params -> 'query -> 'input request
Sourceval forge_partial_request : ('meth, 'prefix, 'params, 'query, 'input, 'output, 'error) service -> ?base:Uri.t -> 'params -> 'query -> 'input request
OCaml

Innovation. Community. Security.