Module Lib.Url
URL manipulation
include module type of Url_base
type t = stringtype uri = stringmake_absolute_url https host port path generates a new absolute url
type path = string listval remove_end_slash : string -> stringremove_end_slash str removes last /
val is_prefix_skip_end_slash : string list -> string list -> boolis_prefix_skip_end_slash path1 path2 returns true if path1 is the same as path2 before a first slash
val split_fragment : string -> string * string optionsplit_fragment str splits str at first '#'
val join_path : path -> stringSee Js_of_ocaml.Url.
include module type of Js_of_ocaml.Url
The first functions are mainly from and to string conversion functions for the different parts of a url.
val urldecode : string -> stringurldecode s swaps percent encoding characters for their usual representation.
val urlencode : ?with_plus:bool -> string -> stringurlencode ?with_plus s replace characters for their percent encoding representation. Note that the '/' (slash) character is escaped as well. If with_plus is true (default) then '+''s are escaped as "%2B". If not, '+''s are left as is.
type http_url = Js_of_ocaml.Url.http_url = {hu_host : string;(*The host part of the url.
*)hu_port : int;(*The port for the connection if any.
*)hu_path : string list;(*The path split on
*)'/'characters.hu_path_string : string;(*The original entire path.
*)hu_arguments : (string * string) list;(*Arguments as a field-value association list.
*)hu_fragment : string;(*The fragment part (after the
*)'#'character).
}The type for HTTP(s) url.
type file_url = Js_of_ocaml.Url.file_url = {fu_path : string list;fu_path_string : string;fu_arguments : (string * string) list;fu_fragment : string;
}The type for local file urls.
type url = Js_of_ocaml.Url.url = The type for urls.
val default_http_port : intThe default port for Http communications (80).
val default_https_port : intThe default port for Https communications (443).
val path_of_path_string : string -> string listpath_of_path_string s splits s on each "/" character.
val encode_arguments : (string * string) list -> stringencode_arguments a expects a list of pair of values of the form (name,value) were name is the name of an argument and value it's associated value.
val decode_arguments : string -> (string * string) listdecode_arguments s parses s returning the sliced-diced association list. s should be only the arguments part (after the '?') not the whole url.
The following part allow one to handle Url object in a much higher level than what a string provides.
val url_of_string : string -> url optionurl_of_string s parses s and builds a value of type url if s is not a valid url string, it returns None.
val string_of_url : url -> stringstring_of_url u returns a valid string representation of u. Note that * string_of_url ((fun Some u -> u) (url_of_string s)) is NOT necessarily * equal to s. However url_of_string (string_of_url u) = u.
module Current = Js_of_ocaml.Url.CurrentThis module can be used to handle the Url associated to the current document.
val decode : string -> stringval encode : ?plus:bool -> string -> stringencode ?plus s percent-encodes s, slashes included. Spaces are written + if plus is true (the default) and %20 otherwise, and + is always encoded, as by encode on the server.
val make_encoded_parameters : (string * string) list -> stringval split_path : string -> string listval get_ssl : string -> bool optionval resolve : string -> stringval add_get_args : string -> (string * string) list -> stringval string_of_url_path : encode:bool -> string list -> stringval path_of_url : url -> string listval path_of_url_string : string -> string listExtracts path from a URL string. Works on a best-effort basis for relative URLs