<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Module urilib</title> <link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc"> </head> <body bgcolor="white"> <div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div> <hr> <h1>Module urilib</h1> <ul class="index"><li><a href="#description">Description</a></li><li><a href="#types">Data Types</a></li><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>urilib is a RFC-3986 URI Library for Erlang. <p>Copyright © 2016</p> <p><b>Authors:</b> Gavin M. Roy (<a href="mailto:gavinmroy@gmail.com"><tt>gavinmroy@gmail.com</tt></a>).</p> <h2><a name="description">Description</a></h2>urilib is a RFC-3986 URI Library for Erlang <h2><a name="types">Data Types</a></h2> <h3 class="typedecl"><a name="type-authority">authority()</a></h3> <p><pre>authority() = {<a href="#type-userinfo">userinfo()</a>, <a href="#type-host">host()</a>, <a href="#type-tcp_port">tcp_port()</a>}</pre></p> <h3 class="typedecl"><a name="type-fragment">fragment()</a></h3> <p><pre>fragment() = string() | undefined</pre></p> <h3 class="typedecl"><a name="type-host">host()</a></h3> <p><pre>host() = string()</pre></p> <h3 class="typedecl"><a name="type-password">password()</a></h3> <p><pre>password() = string() | undefined</pre></p> <h3 class="typedecl"><a name="type-path">path()</a></h3> <p><pre>path() = string()</pre></p> <h3 class="typedecl"><a name="type-query">query()</a></h3> <p><pre>query() = [tuple() | string()] | undefined</pre></p> <h3 class="typedecl"><a name="type-scheme">scheme()</a></h3> <p><pre>scheme() = http | https | atom()</pre></p> <h3 class="typedecl"><a name="type-tcp_port">tcp_port()</a></h3> <p><pre>tcp_port() = integer()</pre></p> <h3 class="typedecl"><a name="type-uri">uri()</a></h3> <p><pre>uri() = {<a href="#type-scheme">scheme()</a>, <a href="#type-authority">authority()</a>, <a href="#type-path">path()</a>, <a href="#type-query">query()</a>, <a href="#type-fragment">fragment()</a>}</pre></p> <h3 class="typedecl"><a name="type-url">url()</a></h3> <p><pre>url() = {<a href="#type-scheme">scheme()</a>, <a href="#type-username">username()</a>, <a href="#type-password">password()</a>, <a href="#type-host">host()</a>, <a href="#type-tcp_port">tcp_port()</a>, <a href="#type-path">path()</a>, <a href="#type-query">query()</a>, <a href="#type-fragment">fragment()</a>}</pre></p> <h3 class="typedecl"><a name="type-userinfo">userinfo()</a></h3> <p><pre>userinfo() = {<a href="#type-username">username()</a>, <a href="#type-password">password()</a>} | undefined</pre></p> <h3 class="typedecl"><a name="type-username">username()</a></h3> <p><pre>username() = string() | undefined</pre></p> <h2><a name="index">Function Index</a></h2> <table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#build-1">build/1</a></td><td>Build a URI.</td></tr> <tr><td valign="top"><a href="#parse-1">parse/1</a></td><td>Parse a URI.</td></tr> <tr><td valign="top"><a href="#parse-2">parse/2</a></td><td>Parse a URI, returning the result as either a <code><a href="#type-uri">uri()</a></code> or <code><a href="#type-url">url()</a></code>.</td></tr> <tr><td valign="top"><a href="#percent_decode-1">percent_decode/1</a></td><td>Decode a percent encoded string value.</td></tr> <tr><td valign="top"><a href="#percent_encode-1">percent_encode/1</a></td><td>Percent encode a string value.</td></tr> <tr><td valign="top"><a href="#plus_decode-1">plus_decode/1</a></td><td>Decode a percent encoded string value that uses pluses for spaces.</td></tr> <tr><td valign="top"><a href="#plus_encode-1">plus_encode/1</a></td><td>Percent encode a string value similar to encode/1, but encodes spaces with a plus (<code>+</code>) instead of <code>%20</code>.</td></tr> </table> <h2><a name="functions">Function Details</a></h2> <h3 class="function"><a name="build-1">build/1</a></h3> <div class="spec"> <p><pre>build(Value :: <a href="#type-uri">uri()</a> | <a href="#type-url">url()</a>) -> string()</pre></p> </div><p>Build a URI</p> <h3 class="function"><a name="parse-1">parse/1</a></h3> <div class="spec"> <p><pre>parse(Value :: string()) -> <a href="#type-uri">uri()</a></pre></p> </div><p>Parse a URI</p> <h3 class="function"><a name="parse-2">parse/2</a></h3> <div class="spec"> <p><pre>parse(Value :: string(), Return :: uri | url) -> <a href="#type-uri">uri()</a></pre></p> </div><p>Parse a URI, returning the result as either a <code><a href="#type-uri">uri()</a></code> or <code><a href="#type-url">url()</a></code>.</p> <h3 class="function"><a name="percent_decode-1">percent_decode/1</a></h3> <div class="spec"> <p><pre>percent_decode(Value :: string()) -> string()</pre></p> </div><p>Decode a percent encoded string value.</p> <h3 class="function"><a name="percent_encode-1">percent_encode/1</a></h3> <div class="spec"> <p><pre>percent_encode(Value :: string()) -> string()</pre></p> </div><p>Percent encode a string value.</p> <h3 class="function"><a name="plus_decode-1">plus_decode/1</a></h3> <div class="spec"> <p><pre>plus_decode(Value :: string()) -> string()</pre></p> </div><p><p>Decode a percent encoded string value that uses pluses for spaces.</p> Note: The use of plus for space is defined in RFC-1630 but does not appear in RFC-3986.</p> <h3 class="function"><a name="plus_encode-1">plus_encode/1</a></h3> <div class="spec"> <p><pre>plus_encode(Value :: string()) -> string()</pre></p> </div><p><p>Percent encode a string value similar to encode/1, but encodes spaces with a plus (<code>+</code>) instead of <code>%20</code>. This function can be used for encoding query arguments.</p> Note: The use of plus for space is defined in RFC-1630 but does not appear in RFC-3986.</p> <hr> <div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div> <p><i>Generated by EDoc, Jan 22 2016, 10:34:52.</i></p> </body> </html>