package resto
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module Resto.PathSource
Parametrized path to services.
The type of a path. Here "path" is to be taken in the sense of a slash-separated sequence of segments of a URI/URL.
root is the basis to build paths upon. It is the "Nil" of path construction.
add_suffix p s is a path in which s has been appended to the sequence of segments described by p.
(/) is an infix operator for add_suffix.
add_arg p a is a path in which a segment representing a value of type a has been appended to the sequence of segments described by p.
This is intended for use by services. Specifically, a service that is parameterized over a value of type ty is attached to a path that includes an argument for a value of type ty. When the service is called, Resto decodes the argument and passes its value to the service.
(/:) is an infix operator for add_arg.
add_final_args p a is a path in which an arbitrary sequence of segments representing values of type a has been appended to the sequence of segments described by p.
A similar use to the add_arg is intended, but for a list of values rather than a single value.
Note that, as the name suggests, add_final_args is final: you cannot add further suffixes or arguments to the resulting path. Attempting to do so raises Invalid_arg. Similarly, using the resulting path as a prefix (see below) raises the same exception. This is because paths built with add_final_args consume all the suffix as an unterminated list of arguments, there cannot be further suffixes or arguments.
( /:* ) is an infix operator for add_final_args.
prefix p q is a path in which the sequence of segments of p is followed by the sequence of segments of q.