UNPKG

neft

Version:

Universal Platform

106 lines (78 loc) 4.74 kB
> [Wiki](Home) ▸ [[API Reference|API-Reference]] ▸ [[Networking|Networking-API]] ▸ **Uri** # Uri > [`Source`](/Neft-io/neft/blob/e79ebc2b61607e795a53c22d1577605addf00689/src/networking/uri.litcoffee) ## Table of contents * [Uri](#uri) * [**Class** Uri](#class-uri) * [constructor](#constructor) * [protocol](#protocol) * [auth](#auth) * [host](#host) * [path](#path) * [params](#params) * [query](#query) * [hash](#hash) * [test](#test) * [match](#match) * [toString](#tostring) * [Glossary](#glossary) # **Class** Uri > [`Source`](/Neft-io/neft/blob/e79ebc2b61607e795a53c22d1577605addf00689/src/networking/uri.litcoffee) ##constructor <dl><dt>Syntax</dt><dd><code>Uri::constructor(&#x2A;String&#x2A; uri)</code></dd><dt>Prototype method of</dt><dd><i>Uri</i></dd><dt>Parameters</dt><dd><ul><li>uri — <i>String</i></li></ul></dd></dl> Represents an uri string with parameters. The parameter must be wrapped by the curly brackets **{…}**. **Rest parameters** are not greedy and are wrapped by the **{…*}** or just **…***. Rest parameters don't have to be named (**{*}** is allowed). ```javascript var uri = new Networking.Uri('articles/{pageStart}/{pageEnd}'); console.log(uri.match('articles/2/4')); // { pageStart: '2', pageEnd: '4' } var uri = new Networking.Uri('comments/{path*}/{page}'); console.log(uri.match('comments/article/world/test-article/4')); // { path: 'article/world/test-article', page: '4' } ``` Access it with: ```javascript var Networking = require('networking'); var Uri = Networking.Uri; ``` > [`Source`](/Neft-io/neft/blob/e79ebc2b61607e795a53c22d1577605addf00689/src/networking/uri.litcoffee#uriconstructorstring-uri) ##protocol <dl><dt>Syntax</dt><dd><code>&#x2A;String&#x2A; Uri::protocol</code></dd><dt>Prototype property of</dt><dd><i>Uri</i></dd><dt>Type</dt><dd><i>String</i></dd></dl> ##auth <dl><dt>Syntax</dt><dd><code>&#x2A;String&#x2A; Uri::auth</code></dd><dt>Prototype property of</dt><dd><i>Uri</i></dd><dt>Type</dt><dd><i>String</i></dd></dl> ##host <dl><dt>Syntax</dt><dd><code>&#x2A;String&#x2A; Uri::host</code></dd><dt>Prototype property of</dt><dd><i>Uri</i></dd><dt>Type</dt><dd><i>String</i></dd></dl> ##path <dl><dt>Syntax</dt><dd><code>&#x2A;String&#x2A; Uri::path</code></dd><dt>Prototype property of</dt><dd><i>Uri</i></dd><dt>Type</dt><dd><i>String</i></dd></dl> ##params <dl><dt>Syntax</dt><dd><code>&#x2A;Object&#x2A; Uri::params</code></dd><dt>Prototype property of</dt><dd><i>Uri</i></dd><dt>Type</dt><dd><a href="/Neft-io/neft/wiki/Utils-API#isobject">Object</a></dd></dl> Holds the last *Uri::match()* result. ##query <dl><dt>Syntax</dt><dd><code>&#x2A;Object&#x2A; Uri::query</code></dd><dt>Prototype property of</dt><dd><i>Uri</i></dd><dt>Type</dt><dd><a href="/Neft-io/neft/wiki/Utils-API#isobject">Object</a></dd></dl> ##hash <dl><dt>Syntax</dt><dd><code>&#x2A;String&#x2A; Uri::hash</code></dd><dt>Prototype property of</dt><dd><i>Uri</i></dd><dt>Type</dt><dd><i>String</i></dd></dl> ##test <dl><dt>Syntax</dt><dd><code>&#x2A;Boolean&#x2A; Uri::test(&#x2A;String&#x2A; uri)</code></dd><dt>Prototype method of</dt><dd><i>Uri</i></dd><dt>Parameters</dt><dd><ul><li>uri — <i>String</i></li></ul></dd><dt>Returns</dt><dd><i>Boolean</i></dd></dl> Test whether the uri is valid with the given string. > [`Source`](/Neft-io/neft/blob/e79ebc2b61607e795a53c22d1577605addf00689/src/networking/uri.litcoffee#boolean-uriteststring-uri) ##match <dl><dt>Syntax</dt><dd><code>&#x2A;Object&#x2A; Uri::match(&#x2A;String&#x2A; uri)</code></dd><dt>Prototype method of</dt><dd><i>Uri</i></dd><dt>Parameters</dt><dd><ul><li>uri — <i>String</i></li></ul></dd><dt>Returns</dt><dd><a href="/Neft-io/neft/wiki/Utils-API#isobject">Object</a></dd></dl> Returns found parameters from the given string. If the given uri is not valid with the uri, error will be raised. > [`Source`](/Neft-io/neft/blob/e79ebc2b61607e795a53c22d1577605addf00689/src/networking/uri.litcoffee#object-urimatchstring-uri) ##toString <dl><dt>Syntax</dt><dd><code>&#x2A;String&#x2A; Uri::toString([&#x2A;Object|Dict&#x2A; params])</code></dd><dt>Prototype method of</dt><dd><i>Uri</i></dd><dt>Parameters</dt><dd><ul><li>params — <i>Object|Dict</i><i>optional</i></li></ul></dd><dt>Returns</dt><dd><i>String</i></dd></dl> Parses the uri into a string. The given params object is used to replace the uri parameters. ```javascript var uri = new Networking.Uri('user/{name}'); console.log(uri.toString({name: 'Jane'})); // /user/Jane console.log(uri.toString()); // /user/{name} ``` > [`Source`](/Neft-io/neft/blob/e79ebc2b61607e795a53c22d1577605addf00689/src/networking/uri.litcoffee#string-uritostringobjectdict-params) # Glossary - [Networking.Uri](#class-uri)