mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 11:15:35 -05:00
2 lines
No EOL
7.7 KiB
HTML
2 lines
No EOL
7.7 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Route (tiny_httpd.Tiny_httpd_server.Route)</title><link rel="stylesheet" href="../../../_odoc_support/odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.2.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../_odoc_support/highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">tiny_httpd</a> » <a href="../index.html">Tiny_httpd_server</a> » Route</nav><header class="odoc-preamble"><h1>Module <code><span>Tiny_httpd_server.Route</span></code></h1></header><nav class="odoc-toc"><ul><li><a href="#routing">Routing</a></li></ul></nav><div class="odoc-content"><h3 id="routing"><a href="#routing" class="anchor"></a>Routing</h3><p>Basic type-safe routing.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.6</li></ul><div class="odoc-spec"><div class="spec type anchored" id="type-comp"><a href="#type-comp" class="anchor"></a><code><span><span class="keyword">type</span> <span>('a, 'b) comp</span></span></code></div><div class="spec-doc"><p>An atomic component of a path</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> <span>('a, 'b) t</span></span></code></div><div class="spec-doc"><p>A route, composed of path components</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int"><a href="#val-int" class="anchor"></a><code><span><span class="keyword">val</span> int : <span><span>(<span>int <span class="arrow">-></span></span> <span class="type-var">'a</span>, <span class="type-var">'a</span>)</span> <a href="#type-comp">comp</a></span></span></code></div><div class="spec-doc"><p>Matches an integer.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string"><a href="#val-string" class="anchor"></a><code><span><span class="keyword">val</span> string : <span><span>(<span>string <span class="arrow">-></span></span> <span class="type-var">'a</span>, <span class="type-var">'a</span>)</span> <a href="#type-comp">comp</a></span></span></code></div><div class="spec-doc"><p>Matches a string not containing <code>'/'</code> and binds it as is.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-string_urlencoded"><a href="#val-string_urlencoded" class="anchor"></a><code><span><span class="keyword">val</span> string_urlencoded : <span><span>(<span>string <span class="arrow">-></span></span> <span class="type-var">'a</span>, <span class="type-var">'a</span>)</span> <a href="#type-comp">comp</a></span></span></code></div><div class="spec-doc"><p>Matches a URL-encoded string, and decodes it.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-exact"><a href="#val-exact" class="anchor"></a><code><span><span class="keyword">val</span> exact : <span>string <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'a</span>)</span> <a href="#type-comp">comp</a></span></span></code></div><div class="spec-doc"><p><code>exact "s"</code> matches <code>"s"</code> and nothing else.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-return"><a href="#val-return" class="anchor"></a><code><span><span class="keyword">val</span> return : <span><span>(<span class="type-var">'a</span>, <span class="type-var">'a</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Matches the empty path.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-rest_of_path"><a href="#val-rest_of_path" class="anchor"></a><code><span><span class="keyword">val</span> rest_of_path : <span><span>(<span>string <span class="arrow">-></span></span> <span class="type-var">'a</span>, <span class="type-var">'a</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Matches a string, even containing <code>'/'</code>. This will match the entirety of the remaining route.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.7</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-rest_of_path_urlencoded"><a href="#val-rest_of_path_urlencoded" class="anchor"></a><code><span><span class="keyword">val</span> rest_of_path_urlencoded : <span><span>(<span>string <span class="arrow">-></span></span> <span class="type-var">'a</span>, <span class="type-var">'a</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p>Matches a string, even containing <code>'/'</code>, an URL-decode it. This will match the entirety of the remaining route.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.7</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-(@/)"><a href="#val-(@/)" class="anchor"></a><code><span><span class="keyword">val</span> (@/) : <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="#type-comp">comp</a></span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'b</span>, <span class="type-var">'c</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'c</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>comp / route</code> matches <code>"foo/bar/…"</code> iff <code>comp</code> matches <code>"foo"</code>, and <code>route</code> matches <code>"bar/…"</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-exact_path"><a href="#val-exact_path" class="anchor"></a><code><span><span class="keyword">val</span> exact_path : <span>string <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> <span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="#type-t">t</a></span></span></code></div><div class="spec-doc"><p><code>exact_path "foo/bar/..." r</code> is equivalent to <code>exact "foo" @/ exact "bar" @/ ... @/ r</code></p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.11 *</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><span class="xref-unresolved">Stdlib</span>.Format.formatter <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Print the route.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.7</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-to_string"><a href="#val-to_string" class="anchor"></a><code><span><span class="keyword">val</span> to_string : <span><span><span>(<span class="type-var">_</span>, <span class="type-var">_</span>)</span> <a href="#type-t">t</a></span> <span class="arrow">-></span></span> string</span></code></div><div class="spec-doc"><p>Print the route.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.7</li></ul></div></div></div></body></html> |