Provided by: erlang-manpages_24.2.1+dfsg-1ubuntu0.5_all bug

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_defaults,   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.5                                     http_uri(3erl)