416 lines
9.9 KiB
HTML
416 lines
9.9 KiB
HTML
|
<!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>
|