http_uri(3erl) Erlang Module Definition http_uri(3erl)
NAME
http_uri - Old URI utility module, use uri_string instead
DESCRIPTION
This module is deprecated since OTP 23. Use the module uri_string to
properly handle URIs, this is the recommended module since OTP 21.
DATA TYPES
Type definitions that are used more than once in this module:
boolean() = true | false
string() = list of ASCII characters
URI DATA TYPES
Type definitions that are related to URI:
uri() = string() | binary():
Syntax according to the URI definition in RFC 3986, for example,
"http://www.erlang.org/"
user_info() = string() | binary():
scheme() = atom():
Example: http, https
host() = string() | binary():
port() = inet:port_number():
path() = string() | binary():
Represents a file path or directory path
query() = string() | binary():
fragment() = string() | binary():
For more information about URI, see RFC 3986.
EXPORTS
decode(HexEncodedURI) -> URI
Types:
HexEncodedURI = string() | binary() - A possibly hexadecimal
encoded URI
URI = uri()
Decodes a possibly hexadecimal encoded URI.
encode(URI) -> HexEncodedURI
Types:
URI = uri()
HexEncodedURI = string() | binary() - Hexadecimal encoded URI
Encodes a hexadecimal encoded URI.
parse(URI) -> {ok, Result} | {error, Reason}
parse(URI, Options) -> {ok, Result} | {error, Reason}
Types:
URI = uri()
Options = [Option]
Option = {ipv6_host_with_brackets, boolean()} | {scheme_de-
faults, scheme_defaults()} | {fragment, boolean()} |
{scheme_validation_fun, fun()}
Result = {Scheme, UserInfo, Host, Port, Path, Query} |
{Scheme, UserInfo, Host, Port, Path, Query, Fragment}
Scheme = scheme()
UserInfo = user_info()
Host = host()
Port = inet:port_number()
Path = path()
Query = query()
Fragment = fragment()
Reason = term()
Parses a URI. If no scheme defaults are provided, the value of
the scheme_defaults function is used.
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 true, the URI fragment is returned as
part of the parsing result, otherwise it is ignored.
Scheme validation fun is to be defined as follows:
fun(SchemeStr :: string() | binary()) ->
valid | {error, Reason :: term()}.
It is called before scheme string gets converted into scheme
atom and thus possible atom leak could be prevented
Warning:
The scheme portion of the URI gets converted into atom, meaning
that atom leak may occur. Specifying a scheme validation fun is
recommended unless the URI is already sanitized.
scheme_defaults() -> SchemeDefaults
Types:
SchemeDefaults = [{scheme(), default_scheme_port_number()}]
default_scheme_port_number() = inet:port_number()
Provides a list of the scheme and their default port numbers
supported (by default) by this utility.
Ericsson AB inets 7.2 http_uri(3erl)