ocsigenserver

A full-featured and extensible Web server
Library ocsigenserver.baselib
Module Ocsigen_lib . Url
include module type of Url_base with type t = Url_base.t
type t = Url_base.t
type uri = string
val make_absolute_url : https:bool -> host:string -> port:int -> uri -> t
type path = string list
val remove_dotdot : path -> path
val remove_end_slash : string -> string
val remove_internal_slash : path -> path
val change_empty_list : path -> path
val add_end_slash_if_missing : path -> path
val remove_slash_at_end : path -> path
val remove_slash_at_beginning : path -> path
val is_prefix_skip_end_slash : string list -> string list -> bool
val split_fragment : string -> string * string option
val join_path : path -> string
val split_path : string -> path
val norm_path : path -> path
val fixup_url_string : t -> t
val encode : ?plus:bool -> string -> string
val decode : ?plus:bool -> string -> string
val make_encoded_parameters : (string * string) list -> string
val string_of_url_path : encode:bool -> path -> uri
val parse : t -> bool option * string option * int option * string * string list * string option * (string * string) list Lazy.t

parse url returns a tuple containing information about url

  • If url contains scheme 'https'
  • host of url (ex: http://www.ocsigen.org/ -> www.ocsigen.org)
  • port of url
  • path as string without first '/'
  • path as string list
  • GET query of url
  • lazy value to decode GET query
val prefix_and_path_of_t : string -> string * string list

prefix_and_path_of_t url splits url in a couple (prefix, path) where prefix is "http(s)://host:port" and path is the path as string list

Example: prefix_and_path_of_t "http://ocsigen.org:80/tuto/manual" returns ("http://ocsigen.org:80", ["tuto", "manual"]).