Eliom_uri(3) Low-level functions for relative or absolute URL calculation.

Module

Module Eliom_uri

Documentation

Module Eliom_uri
 :  sig end

Low-level functions for relative or absolute URL calculation.

=== Compute service's URL Please note that for many functions of this section, the returned URL depends on whether the function is called from a service handler or not: - relative URL could not be computed outside of a service handler. - kept non localized parameters outside a service handler are restricted to preapplied parameters. To define global link (i.e. outside of a service handler) and recompute a relative URL at each request, use Eliom_registration.Html5.a or other specialized functions from Eliom_registration.Html5 or Eliom_registration.Xhtml. ===

val make_string_uri : ?absolute:bool -> ?absolute_path:bool -> ?https:bool -> service:('a, unit, [< Eliom_service.get_service_kind ], [< Eliom_service.suff ], 'b, unit, [< Eliom_service.registrable ], 'c) Eliom_service.service -> ?hostname:string -> ?port:int -> ?fragment:string -> ?keep_nl_params:[ `All | `None | `Persistent ] -> ?nl_params:Eliom_parameter.nl_params_set -> 'a -> string

The function make_string_uri ~service get_params creates the string corresponding to the URL of the service service applied to the GET parameters get_params .

See Eliom_registration.Html5.make_string_uri or any other Eliom_registration .*.make_string_uri for a detailled description of optional parameters.

val make_uri_components : ?absolute:bool -> ?absolute_path:bool -> ?https:bool -> service:('a, unit, [< Eliom_service.get_service_kind ], [< Eliom_service.suff ], 'b, unit, [< Eliom_service.registrable ], 'c) Eliom_service.service -> ?hostname:string -> ?port:int -> ?fragment:string -> ?keep_nl_params:[ `All | `None | `Persistent ] -> ?nl_params:Eliom_parameter.nl_params_set -> 'a -> string * (string * string) list * string option

The function make_uri_components service get_params returns the a triplet (path, get_params, fragment) that is a decomposition of the URL of service applied to the GET parameters get_params .

See Eliom_registration.Html5.make_uri_components or any other Eliom_registration .*.make_uri_components for a detailled description.

val make_post_uri_components : ?absolute:bool -> ?absolute_path:bool -> ?https:bool -> service:('a, 'b, [< Eliom_service.post_service_kind ], [< Eliom_service.suff ], 'c, 'd, [< Eliom_service.registrable ], 'e) Eliom_service.service -> ?hostname:string -> ?port:int -> ?fragment:string -> ?keep_nl_params:[ `All | `None | `Persistent ] -> ?nl_params:Eliom_parameter.nl_params_set -> ?keep_get_na_params:bool -> 'a -> 'b -> string * (string * string) list * string option * (string * string) list

Same a Eliom_uri.make_uri_components , but also returns a table of post parameters.

val make_string_uri_from_components : string * (string * string) list * string option -> string

The function make_string_uri_from_components path get_params fragment build the corresponding string URL. The path should be URL encoded.

The function Eliom_uri.make_string_uri is the composition of Eliom_uri.make_uri_components and make_string_uri_from_components .

=== Relative paths ===

val reconstruct_relative_url_path : string list -> string list -> string list

The function reconstruct_relative_url_path src dest returns a path to dest that is relative to src .