URL
URL
module is universal and has 2 implementations with the same API:
url_js
library is a wrapper around the URL
API in the browser binded with Melange.url_native
library is a native implementation with ocaml-uri (RFC3986 URI parsing library for OCaml).Depending on you setup, you would need to add the following dependencies to your `dune` stanzas:
(library
(name ...)
(modes melange)
(libraries (server-reason-react.url_js))
(library
(name ...)
(modes native)
(libraries (server-reason-react.url_native))
let url = URL.make("https://example.com:8080/path?query=1#hash");
URL.protocol(url); (* => Some("https:") *)
URL.hostname(url); (* => "example.com" *)
URL.port(url); (* => Some("8080") *)
URL.pathname(url); (* => "/path" *)
URL.search(url); (* => Some("?query=1") *)
URL.hash(url); (* => Some("#hash") *)
module SearchParams : sig ... end
val makeExn : string -> t
val make : string -> t option
val makeWith : string -> base:string -> t
val hash : t -> string option
val host : t -> string option
val hostname : t -> string
val href : t -> string
val origin : t -> string option
val password : t -> string option
val pathname : t -> string
val port : t -> string option
val protocol : t -> string option
val search : t -> string option
val searchParams : t -> SearchParams.t
val username : t -> string option
val toString : t -> string