This module provides utility functions for working with URIs,
according to
Type definitions that are used more than once in this module:
Type definitions that are related to URI:
Syntax according to the URI definition in RFC 3986, for example, "http://www.erlang.org/"
Example: http, https
Represents a file path or directory path
For more information about URI, see
Decodes a possibly hexadecimal encoded URI.
Encodes a hexadecimal encoded URI.
Parses a URI. If no scheme defaults
are provided, the value of the
When parsing a URI with an unknown scheme (that is, a scheme not found in the scheme defaults), a port number must be provided, otherwise the parsing fails.
If the fragment option is
Scheme validation fun is to be defined as follows:
fun(SchemeStr :: string()) ->
valid | {error, Reason :: term()}.
It is called before scheme string gets converted into scheme atom and
thus possible atom leak could be prevented
Provides a list of the scheme and their default port numbers supported (by default) by this utility.