module Eliom_uri:sig
..end
Low-level functions for relative or absolute URL calculation.
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:
To define global link (i.e. outside of a service handler) and
recompute a relative URL at each request, use
Eliom_registration.Html.a
or other specialized functions from
Eliom_registration.Html
.
val make_string_uri : ?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
service:('get, unit, Eliom_service.get, 'a, 'b, 'c, 'd,
[< `WithSuffix | `WithoutSuffix ], 'e, unit, 'return)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?nl_params:Eliom_parameter.nl_params_set -> 'get -> 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.Html.make_string_uri
or any other
Eliom_registration
.*.make_string_uri
for a detailed
description of optional parameters.
Warning: The function make_string_uri
should not be called
outside of a service handler, unless hostname
is not None
and
one of the following condition is met:
~absolute_path
is true
.~absolute
is true
.~https
is true
.service
has been created with ~https:true
.service
is an external service.val make_uri_components : ?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
service:('get, 'a, Eliom_service.get, 'b, 'c, 'd, 'e,
[< `WithSuffix | `WithoutSuffix ], 'f, 'g, 'h)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?nl_params:Eliom_parameter.nl_params_set ->
'get -> string * (string * Eliommod_parameters.param) 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.Html.make_uri_components
or any other
Eliom_registration
.*.make_uri_components
for a detailed
description.
val make_post_uri_components : ?absolute:bool ->
?absolute_path:bool ->
?https:bool ->
service:('get, 'post, Eliom_service.post, 'a, 'b, 'c, 'd,
[< `WithSuffix | `WithoutSuffix ], 'e, 'f, 'g)
Eliom_service.t ->
?hostname:string ->
?port:int ->
?fragment:string ->
?keep_nl_params:[ `All | `None | `Persistent ] ->
?nl_params:Eliom_parameter.nl_params_set ->
?keep_get_na_params:bool ->
'get ->
'post ->
string * (string * Eliommod_parameters.param) list * string option *
(string * Eliommod_parameters.param) list
Same a Eliom_uri.make_uri_components
, but also returns a table of post
parameters.
val make_string_uri_from_components : string * (string * Eliommod_parameters.param) 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
.
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
.