arachnid/docs/URI.html

416 lines
9.9 KiB
HTML
Raw Normal View History

2019-06-27 03:25:07 +00:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="generator" content="Crystal Docs 0.29.0">
<link href="css/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/doc.js"></script>
<script type="text/javascript">
CrystalDoc.base_path = "";
</script>
<meta id="repository-name" content="github.com/watzon/arachnid">
<title>URI - github.com/watzon/arachnid</title>
</head>
<body>
<div class="sidebar">
<div class="sidebar-header">
<div class="search-box">
<input type="search" class="search-input" placeholder="Search..." spellcheck="false" aria-label="Search">
</div>
<div class="repository-links">
<a href="index.html">README</a>
</div>
</div>
<div class="search-results" class="hidden">
<ul class="search-list"></ul>
</div>
<div class="types-list">
<ul>
<li class="parent " data-id="github.com/watzon/arachnid/Arachnid" data-name="arachnid">
<a href="Arachnid.html">Arachnid</a>
<ul>
<li class="parent " data-id="github.com/watzon/arachnid/Arachnid/Agent" data-name="arachnid::agent">
<a href="Arachnid/Agent.html">Agent</a>
<ul>
<li class="parent " data-id="github.com/watzon/arachnid/Arachnid/Agent/Actions" data-name="arachnid::agent::actions">
<a href="Arachnid/Agent/Actions.html">Actions</a>
<ul>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Agent/Actions/Action" data-name="arachnid::agent::actions::action">
<a href="Arachnid/Agent/Actions/Action.html">Action</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Agent/Actions/Paused" data-name="arachnid::agent::actions::paused">
<a href="Arachnid/Agent/Actions/Paused.html">Paused</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Agent/Actions/RuntimeError" data-name="arachnid::agent::actions::runtimeerror">
<a href="Arachnid/Agent/Actions/RuntimeError.html">RuntimeError</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Agent/Actions/SkipLink" data-name="arachnid::agent::actions::skiplink">
<a href="Arachnid/Agent/Actions/SkipLink.html">SkipLink</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Agent/Actions/SkipResource" data-name="arachnid::agent::actions::skipresource">
<a href="Arachnid/Agent/Actions/SkipResource.html">SkipResource</a>
</li>
</ul>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Agent/Queue" data-name="arachnid::agent::queue">
<a href="Arachnid/Agent/Queue.html">Queue</a>
</li>
</ul>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/AuthCredential" data-name="arachnid::authcredential">
<a href="Arachnid/AuthCredential.html">AuthCredential</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/AuthStore" data-name="arachnid::authstore">
<a href="Arachnid/AuthStore.html">AuthStore</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/CookieJar" data-name="arachnid::cookiejar">
<a href="Arachnid/CookieJar.html">CookieJar</a>
</li>
<li class="parent " data-id="github.com/watzon/arachnid/Arachnid/Document" data-name="arachnid::document">
<a href="Arachnid/Document.html">Document</a>
<ul>
<li class="parent " data-id="github.com/watzon/arachnid/Arachnid/Document/HTML" data-name="arachnid::document::html">
<a href="Arachnid/Document/HTML.html">HTML</a>
<ul>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Document/HTML/Tag" data-name="arachnid::document::html::tag">
<a href="Arachnid/Document/HTML/Tag.html">Tag</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="parent " data-id="github.com/watzon/arachnid/Arachnid/Resource" data-name="arachnid::resource">
<a href="Arachnid/Resource.html">Resource</a>
<ul>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Resource/ContentTypes" data-name="arachnid::resource::contenttypes">
<a href="Arachnid/Resource/ContentTypes.html">ContentTypes</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Resource/Cookies" data-name="arachnid::resource::cookies">
<a href="Arachnid/Resource/Cookies.html">Cookies</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Resource/HTML" data-name="arachnid::resource::html">
<a href="Arachnid/Resource/HTML.html">HTML</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Resource/StatusCodes" data-name="arachnid::resource::statuscodes">
<a href="Arachnid/Resource/StatusCodes.html">StatusCodes</a>
</li>
</ul>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/Rules" data-name="arachnid::rules(t)">
<a href="Arachnid/Rules.html">Rules</a>
</li>
<li class=" " data-id="github.com/watzon/arachnid/Arachnid/SessionCache" data-name="arachnid::sessioncache">
<a href="Arachnid/SessionCache.html">SessionCache</a>
</li>
</ul>
</li>
<li class=" current" data-id="github.com/watzon/arachnid/URI" data-name="uri">
<a href="URI.html">URI</a>
</li>
</ul>
</div>
</div>
<div class="main-content">
<h1 class="type-name">
<span class="kind">class</span> URI
</h1>
<ul class="superclass-hierarchy"><li class="superclass"><a href="URI.html">URI</a></li><li class="superclass">Reference</li><li class="superclass">Object</li></ul>
<h2>Overview</h2>
<p><code>Punycode</code> provides an interface for IDNA encoding (RFC 5980),
which is defined in RFC 3493</p>
<p>Implementation based on Mathias Bynens <code>punnycode.js</code> project
https://github.com/bestiejs/punycode.js/</p>
<p>RFC 3492:
Method to use non-ascii characters as host name of URI
https://www.ietf.org/rfc/rfc3492.txt</p>
<p>RFC 5980:
Internationalized Domain Names in Application
https://www.ietf.org/rfc/rfc5980.txt</p>
<h2>Defined in:</h2>
<a href="https://github.com/watzon/arachnid/blob/32bf4d89b826d76adc3c6f2cd160bfd2348ace03/src/arachnid/extensions/uri.cr#L4" target="_blank">
arachnid/extensions/uri.cr
</a>
<br/>
<h2>Class Method Summary</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#expand_path%28path%29-class-method" class="signature"><strong>.expand_path</strong>(path)</a>
<div class="summary"><p>Expands a URI decoded path, into a proper absolute path.</p></div>
</li>
</ul>
<h2>Instance Method Summary</h2>
<ul class="list-summary">
<li class="entry-summary">
<a href="#merge%28oth%29-instance-method" class="signature"><strong>#merge</strong>(oth)</a>
</li>
<li class="entry-summary">
<a href="#merge_path%28base%2Crel%29-instance-method" class="signature"><strong>#merge_path</strong>(base, rel)</a>
</li>
<li class="entry-summary">
<a href="#split_path%28path%29-instance-method" class="signature"><strong>#split_path</strong>(path)</a>
</li>
</ul>
<div class="methods-inherited">
</div>
<h2>Class Method Detail</h2>
<div class="entry-detail" id="expand_path(path)-class-method">
<div class="signature">
def self.<strong>expand_path</strong>(path)
<a class="method-permalink" href="#expand_path%28path%29-class-method">#</a>
</div>
<div class="doc"><p>Expands a URI decoded path, into a proper absolute path.</p>
<p>@param [String] path
The path from a URI.</p>
<p>@return [String]
The expanded path.</p>
<p>@example
URI.expand_path("./path")
# => "path"</p>
<p>@example
URI.expand_path("test/../path")
# => "path"</p>
<p>@example
URI.expand_path("/test/path/")
# => "/test/path/"</p>
<p>@example
URI.expand_path("/test/../path")
# => "/path"</p></div>
<br/>
<div>
[<a href="https://github.com/watzon/arachnid/blob/32bf4d89b826d76adc3c6f2cd160bfd2348ace03/src/arachnid/extensions/uri.cr#L30" target="_blank">View source</a>]
</div>
</div>
<h2>Instance Method Detail</h2>
<div class="entry-detail" id="merge(oth)-instance-method">
<div class="signature">
def <strong>merge</strong>(oth)
<a class="method-permalink" href="#merge%28oth%29-instance-method">#</a>
</div>
<br/>
<div>
[<a href="https://github.com/watzon/arachnid/blob/32bf4d89b826d76adc3c6f2cd160bfd2348ace03/src/arachnid/extensions/uri.cr#L132" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="merge_path(base,rel)-instance-method">
<div class="signature">
def <strong>merge_path</strong>(base, rel)
<a class="method-permalink" href="#merge_path%28base%2Crel%29-instance-method">#</a>
</div>
<br/>
<div>
[<a href="https://github.com/watzon/arachnid/blob/32bf4d89b826d76adc3c6f2cd160bfd2348ace03/src/arachnid/extensions/uri.cr#L70" target="_blank">View source</a>]
</div>
</div>
<div class="entry-detail" id="split_path(path)-instance-method">
<div class="signature">
def <strong>split_path</strong>(path)
<a class="method-permalink" href="#split_path%28path%29-instance-method">#</a>
</div>
<br/>
<div>
[<a href="https://github.com/watzon/arachnid/blob/32bf4d89b826d76adc3c6f2cd160bfd2348ace03/src/arachnid/extensions/uri.cr#L66" target="_blank">View source</a>]
</div>
</div>
</div>
</body>
</html>