GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
http_uri(3) Erlang Module Definition http_uri(3)

http_uri - Old URI utility module, use uri_string instead

This module is deprecated since OTP 23. Use the module uri_string to properly handle URIs, this is the recommended module since OTP 21.

Type definitions that are used more than once in this module:

boolean() = true | false

string() = list of ASCII characters

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.

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.

inets 7.5 Ericsson AB

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.