add doc for 0.5

This commit is contained in:
Simon Cruanes 2020-03-25 23:28:33 -04:00
parent 0fae34315e
commit 2da66d0b8d
19 changed files with 854 additions and 1 deletions

2
0.5/highlight.pack.js Normal file

File diff suppressed because one or more lines are too long

20
0.5/index.html Normal file
View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>index</title>
<link rel="stylesheet" href="./odoc.css"/>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
</head>
<body>
<main class="content">
<div class="by-name">
<h2>OCaml package documentation</h2>
<ol>
<li><a href="tiny_httpd/index.html">tiny_httpd</a> <span class="version">0.5</span></li>
<li><a href="tiny_httpd_camlzip/index.html">tiny_httpd_camlzip</a> <span class="version">0.5</span></li>
</ol>
</div>
</main>
</body>
</html>

764
0.5/odoc.css Normal file
View file

@ -0,0 +1,764 @@
@charset "UTF-8";
/* Copyright (c) 2016 The odoc contributors. All rights reserved.
Distributed under the ISC license, see terms at the end of the file.
odoc 1.4.2 */
/* Fonts */
@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400,500');
@import url('https://fonts.googleapis.com/css?family=Noticia+Text:400,400i,700');
@import url('https://fonts.googleapis.com/css?family=Fira+Sans:400,400i,500,500i,600,600i,700,700i');
/* Reset a few things. */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: inherit;
font: inherit;
line-height: inherit;
vertical-align: baseline;
text-align: inherit;
color: inherit;
background: transparent;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
*, *:before, *:after {
box-sizing: border-box;
}
html {
font-size: 15px;
}
body {
font-family: "Fira Sans", Helvetica, Arial, sans-serif;
text-align: left;
color: #333;
background: #FFFFFF;
}
.content {
max-width: 90ex;
margin-left: calc(10vw + 20ex);
margin-right: 4ex;
margin-top: 20px;
margin-bottom: 50px;
font-family: "Noticia Text", Georgia, serif;
line-height: 1.5;
}
.content>header {
margin-bottom: 30px;
}
.content>header nav {
font-family: "Fira Sans", Helvetica, Arial, sans-serif;
}
/* Basic markup elements */
b, strong {
font-weight: 500;
}
i, em {
font-style: italic;
}
sup {
vertical-align: super;
}
sub {
vertical-align: sub;
}
sup, sub {
font-size: 12px;
line-height: 0;
margin-left: 0.2ex;
}
pre {
margin-top: 0.8em;
margin-bottom: 1.2em;
}
p, ul, ol {
margin-top: 0.5em;
margin-bottom: 1em;
}
ul, ol {
list-style-position: outside
}
ul>li {
margin-left: 22px;
}
ol>li {
margin-left: 27.2px;
}
li>*:first-child {
margin-top: 0
}
/* Text alignements, this should be forbidden. */
.left {
text-align: left;
}
.right {
text-align: right;
}
.center {
text-align: center;
}
/* Links and anchors */
a {
text-decoration: none;
color: #2C5CBD;
}
a:hover {
box-shadow: 0 1px 0 0 #2C5CBD;
}
/* Linked highlight */
*:target {
background-color: rgba(187,239,253,0.3) !important;
box-shadow: 0 0px 0 1px rgba(187,239,253,0.8) !important;
border-radius: 1px;
}
*:hover>a.anchor {
visibility: visible;
}
a.anchor:before {
content: "#"
}
a.anchor:hover {
box-shadow: none;
text-decoration: none;
color: #555;
}
a.anchor {
visibility: hidden;
position: absolute;
/* top: 0px; */
/* margin-left: -3ex; */
margin-left: -1.3em;
font-weight: normal;
font-style: normal;
padding-right: 0.4em;
padding-left: 0.4em;
/* To remain selectable */
color: #d5d5d5;
}
.spec > a.anchor {
margin-left: -2.3em;
padding-right: 0.9em;
}
.xref-unresolved {
color: #2C5CBD;
}
.xref-unresolved:hover {
box-shadow: 0 1px 0 0 #CC6666;
}
/* Section and document divisions.
Until at least 4.03 many of the modules of the stdlib start at .h7,
we restart the sequence there like h2 */
h1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {
font-family: "Fira Sans", Helvetica, Arial, sans-serif;
font-weight: 400;
margin: 0.5em 0 0.5em 0;
padding-top: 0.1em;
line-height: 1.2;
overflow-wrap: break-word;
}
h1 {
font-weight: 500;
font-size: 2.441em;
margin-top: 1.214em;
}
h1 {
font-weight: 500;
font-size: 1.953em;
box-shadow: 0 1px 0 0 #ddd;
}
h2 {
font-size: 1.563em;
}
h3 {
font-size: 1.25em;
}
small, .font_small {
font-size: 0.8em;
}
h1 code, h1 tt {
font-size: inherit;
font-weight: inherit;
}
h2 code, h2 tt {
font-size: inherit;
font-weight: inherit;
}
h3 code, h3 tt {
font-size: inherit;
font-weight: inherit;
}
h3 code, h3 tt {
font-size: inherit;
font-weight: inherit;
}
h4 {
font-size: 1.12em;
}
/* Preformatted and code */
tt, code, pre {
font-family: "Fira Mono", courier;
font-weight: 400;
}
pre {
padding: 0.1em;
border: 1px solid #eee;
border-radius: 5px;
overflow-x: auto;
}
p code, li code {
background-color: #f6f8fa;
color: #0d2b3e;
border-radius: 3px;
padding: 0 0.3ex;
}
p a > code {
color: #2C5CBD;
}
/* Code blocks (e.g. Examples) */
pre code {
font-size: 0.893rem;
}
/* Code lexemes */
.keyword {
font-weight: 500;
}
/* Module member specification */
.spec:not(.include), .spec.include details summary {
background-color: #f6f8fa;
border-radius: 3px;
border-left: 4px solid #5c9cf5;
border-right: 5px solid transparent;
padding: 0.35em 0.5em;
}
.spec.include details summary:hover {
background-color: #ebeff2;
}
dl, div.spec, .doc, aside {
margin-bottom: 20px;
}
dl > dd {
padding: 0.5em;
}
dd> :first-child {
margin-top: 0;
}
dl:last-child, dd> :last-child, aside:last-child, article:last-child {
margin-bottom: 0;
}
dt+dt {
margin-top: 15px;
}
section+section, section > header + dl {
margin-top: 25px;
}
.spec.type .variant {
margin-left: 2ch;
}
.spec.type .variant p {
margin: 0;
font-style: italic;
}
.spec.type .record {
margin-left: 2ch;
}
.spec.type .record p {
margin: 0;
font-style: italic;
}
div.def {
margin-top: 0;
text-indent: -2ex;
padding-left: 2ex;
}
div.def+div.doc {
margin-left: 1ex;
margin-top: 2.5px
}
div.doc>*:first-child {
margin-top: 0;
}
/* The elements other than heading should be wrapped in <aside> elements. */
/* heading, body>p, body>ul, body>ol, h3, h4, body>pre { */
/* margin-bottom: 30px; */
/* } */
/* Collapsible inlined include and module */
.spec.include details {
position: relative;
}
.spec.include details:after {
z-index: -100;
display: block;
content: " ";
position: absolute;
border-radius: 0 1ex 1ex 0;
right: -20px;
top: 1px;
bottom: 1px;
width: 15px;
background: rgba(0, 4, 15, 0.05);
box-shadow: 0 0px 0 1px rgba(204, 204, 204, 0.53);
}
.spec.include details summary {
position: relative;
margin-bottom: 20px;
cursor: pointer;
outline: none;
}
/* FIXME: Does not work in Firefox. */
details summary::-webkit-details-marker {
color: #888;
transform: scaleX(-1);
position: absolute;
top: calc(50% - 5px);
height: 11px;
right: -29px;
}
/* Records and variants FIXME */
div.def table {
text-indent: 0em;
padding: 0;
margin-left: -2ex;
}
td.def {
padding-right: 2ex
}
.record td.def {
padding-left: 2ex;
}
td.doc *:first-child {
margin-top: 0em
}
/* @ tags */
ul.at-tag {
list-style-type: none;
margin-left: 0;
padding: 0;
}
ul.at-tag li {
margin-left: 0;
padding: 0;
}
ul.at-tag li p:first-child {
margin-top: 0
}
/* FIXME remove */
span.at-tag {
font-weight: bold
}
.at-tag.deprecated {
font-weight: normal;
color: crimson
}
.at-tag.raise {
font-weight: bold;
}
/* FIXME random other things to review. */
.heading {
margin-top: 10px;
border-bottom: solid;
border-width: 1px;
border-color: #DDD;
text-align: right;
font-weight: normal;
font-style: italic;
}
.heading+.sig {
margin-top: -20px;
}
.heading+.parameters {
margin-top: -20px;
}
/* Odig package index */
.by-name ol, .by-tag ol, .errors ol {
list-style-type: none;
margin-left: 0;
}
.by-name ol ol, .by-tag ol ol {
margin-top: 0;
margin-bottom: 0
}
.by-name li, .by-tag li, .errors li {
margin-left: 0;
}
.by-name .version {
font-size: 10px;
color: #AAA
}
.by-name nav {
margin-bottom: 10px
}
.by-name nav a {
text-transform: uppercase;
font-size: 18px;
margin-right: 1ex;
color: #222;
display: inline-block;
}
.by-tag nav a {
margin-right: 1ex;
color: #222;
display: inline-block;
}
.by-tag>ol>li {
margin-top: 10px;
}
.by-tag>ol>li>span, .by-tag>ol>li>ol, .by-tag>ol>li>ol>li {
display: inline-block;
margin-right: 1ex;
}
/* Odig package page */
.package nav {
display: inline;
font-size: 14px;
font-weight: normal;
}
.package .version {
font-size: 14px;
}
h1+.modules, h1+.sel {
margin-top: 10px
}
.sel {
font-weight: normal;
font-style: italic;
font-size: 14px;
margin-top: 20px;
}
.sel+.modules {
margin-top: 10px;
margin-bottom: 20px;
margin-left: 1ex;
}
.modules {
margin: 0;
}
.modules .module {
min-width: 8ex;
padding-right: 2ex
}
.package.info {
margin: 0;
}
.package.info td:first-child {
font-style: italic;
padding-right: 2ex;
}
.package.info ul {
list-style-type: none;
display: inline;
margin: 0;
}
.package.info li {
display: inline-block;
margin: 0;
margin-right: 1ex;
}
#info-authors li, #info-maintainers li {
display: block;
}
/* Sidebar and TOC */
.toc:before {
display: block;
content: "Contents";
text-transform: uppercase;
font-size: 1em;
margin: 1.414em 0 0.5em;
font-weight: 500;
color: #777;
line-height: 1.2;
}
.toc {
position: fixed;
top: 0px;
bottom: 0px;
left: 0px;
max-width: 30ex;
min-width: 26ex;
width: 20%;
background: #f6f8fa;
overflow: auto;
color: #1F2D3D;
padding-left: 2ex;
padding-right: 2ex;
}
.toc ul li a {
font-family: "Fira Sans", sans-serif;
font-size: 0.95em;
color: #333;
font-weight: 400;
line-height: 1.6em;
display: block;
}
.toc ul li a:hover {
box-shadow: none;
text-decoration: underline;
}
/* First level titles */
.toc>ul>li>a {
font-weight: 500;
}
.toc li ul {
margin: 0px;
}
.toc ul {
list-style-type: none;
}
.toc ul li {
margin: 0;
}
.toc>ul>li {
margin-bottom: 0.3em;
}
.toc ul li li {
border-left: 1px solid #ccc;
margin-left: 5px;
padding-left: 12px;
}
/* Mobile adjustements. */
@media only screen and (max-width: 95ex) {
.content {
margin: auto;
padding: 2.0em;
}
.toc {
position: static;
width: auto;
min-width: unset;
max-width: unset;
border: none;
padding: 0.2em 1em;
border-radius: 5px;
}
}
/* Print adjustements. */
@media print {
body {
color: black;
background: white;
}
body nav:first-child {
visibility: hidden;
}
}
/* Syntax highlighting (based on github-gist) */
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag {
color: #a71d5d;
}
.hljs-type,
.hljs-class .hljs-title {
color: #458;
font-weight: 500;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/*---------------------------------------------------------------------------
Copyright (c) 2016 The odoc contributors
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
---------------------------------------------------------------------------*/

View file

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Buf_ (tiny_httpd.Tiny_httpd.Buf_)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">tiny_httpd</a> &#x00BB; <a href="../index.html">Tiny_httpd</a> &#x00BB; Buf_</nav><h1>Module <code>Tiny_httpd.Buf_</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code></dt></dl><dl><dt class="spec value" id="val-size"><a href="#val-size" class="anchor"></a><code><span class="keyword">val</span> size : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> int</code></dt><dt class="spec value" id="val-clear"><a href="#val-clear" class="anchor"></a><code><span class="keyword">val</span> clear : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-create"><a href="#val-create" class="anchor"></a><code><span class="keyword">val</span> create : <span>?&#8288;size:int</span> <span>&#45;&gt;</span> unit <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-contents"><a href="#val-contents" class="anchor"></a><code><span class="keyword">val</span> contents : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt><dt class="spec value" id="val-bytes_slice"><a href="#val-bytes_slice" class="anchor"></a><code><span class="keyword">val</span> bytes_slice : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bytes</code></dt><dd><p>Access underlying slice of bytes.</p><dl><dt>since</dt><dd>0.5</dd></dl></dd></dl><dl><dt class="spec value" id="val-contents_and_clear"><a href="#val-contents_and_clear" class="anchor"></a><code><span class="keyword">val</span> contents_and_clear : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt><dd><p>Get contents of the buffer and clear it.</p><dl><dt>since</dt><dd>0.5</dd></dl></dd></dl><dl><dt class="spec value" id="val-add_bytes"><a href="#val-add_bytes" class="anchor"></a><code><span class="keyword">val</span> add_bytes : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bytes <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> unit</code></dt><dd><p>Append given bytes slice to the buffer.</p><dl><dt>since</dt><dd>0.5</dd></dl></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Byte_stream (tiny_httpd.Tiny_httpd.Byte_stream)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">tiny_httpd</a> &#x00BB; <a href="../index.html">Tiny_httpd</a> &#x00BB; Byte_stream</nav><h1>Module <code>Tiny_httpd.Byte_stream</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <a href="../index.html#type-byte_stream">byte_stream</a></code></dt></dl><dl><dt class="spec value" id="val-close"><a href="#val-close" class="anchor"></a><code><span class="keyword">val</span> close : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-of_chan"><a href="#val-of_chan" class="anchor"></a><code><span class="keyword">val</span> of_chan : Pervasives.in_channel <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Make a buffered stream from the given channel.</p></dd></dl><dl><dt class="spec value" id="val-of_chan_close_noerr"><a href="#val-of_chan_close_noerr" class="anchor"></a><code><span class="keyword">val</span> of_chan_close_noerr : Pervasives.in_channel <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Same as <a href="index.html#val-of_chan"><code>of_chan</code></a> but the <code>close</code> method will never fail.</p></dd></dl><dl><dt class="spec value" id="val-of_bytes"><a href="#val-of_bytes" class="anchor"></a><code><span class="keyword">val</span> of_bytes : <span>?&#8288;i:int</span> <span>&#45;&gt;</span> <span>?&#8288;len:int</span> <span>&#45;&gt;</span> bytes <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>A stream that just returns the slice of bytes starting from <code>i</code> and of length <code>len</code>.</p></dd></dl><dl><dt class="spec value" id="val-of_string"><a href="#val-of_string" class="anchor"></a><code><span class="keyword">val</span> of_string : string <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dt class="spec value" id="val-iter"><a href="#val-iter" class="anchor"></a><code><span class="keyword">val</span> iter : <span>(bytes <span>&#45;&gt;</span> int <span>&#45;&gt;</span> int <span>&#45;&gt;</span> unit)</span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p>Iterate on the chunks of the stream</p><dl><dt>since</dt><dd>0.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-to_chan"><a href="#val-to_chan" class="anchor"></a><code><span class="keyword">val</span> to_chan : Pervasives.out_channel <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p>Write the stream to the channel.</p><dl><dt>since</dt><dd>0.3</dd></dl></dd></dl><dl><dt class="spec value" id="val-with_file"><a href="#val-with_file" class="anchor"></a><code><span class="keyword">val</span> with_file : string <span>&#45;&gt;</span> <span>(<a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span class="type-var">'a</span>)</span> <span>&#45;&gt;</span> <span class="type-var">'a</span></code></dt><dd><p>Open a file with given name, and obtain an input stream on its content. When the function returns, the stream (and file) are closed.</p></dd></dl><dl><dt class="spec value" id="val-read_line"><a href="#val-read_line" class="anchor"></a><code><span class="keyword">val</span> read_line : <span>?&#8288;buf:<a href="../Buf_/index.html#type-t">Buf_.t</a></span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt><dd><p>Read a line from the stream.</p><dl><dt>parameter buf</dt><dd><p>a buffer to (re)use. Its content will be cleared.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-read_all"><a href="#val-read_all" class="anchor"></a><code><span class="keyword">val</span> read_all : <span>?&#8288;buf:<a href="../Buf_/index.html#type-t">Buf_.t</a></span> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt><dd><p>Read the whole stream into a string.</p><dl><dt>parameter buf</dt><dd><p>a buffer to (re)use. Its content will be cleared.</p></dd></dl></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Headers (tiny_httpd.Tiny_httpd.Headers)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">tiny_httpd</a> &#x00BB; <a href="../index.html">Tiny_httpd</a> &#x00BB; Headers</nav><h1>Module <code>Tiny_httpd.Headers</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = <span><span>(string * string)</span> list</span></code></dt><dd><p>The header files of a request or response.</p><p>Neither the key nor the value can contain <code>'\r'</code> or <code>'\n'</code>. See https://tools.ietf.org/html/rfc7230#section-3.2</p></dd></dl><dl><dt class="spec value" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span class="keyword">val</span> empty : <a href="index.html#type-t">t</a></code></dt><dd><p>Empty list of headers</p><dl><dt>since</dt><dd>0.5</dd></dl></dd></dl><dl><dt class="spec value" id="val-get"><a href="#val-get" class="anchor"></a><code><span class="keyword">val</span> get : <span>?&#8288;f:<span>(string <span>&#45;&gt;</span> string)</span></span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <span>string option</span></code></dt><dd><p><code>get k headers</code> looks for the header field with key <code>k</code>.</p><dl><dt>parameter f</dt><dd><p>if provided, will transform the value before it is returned.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-set"><a href="#val-set" class="anchor"></a><code><span class="keyword">val</span> set : string <span>&#45;&gt;</span> string <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p><code>set k v headers</code> sets the key <code>k</code> to value <code>v</code>. It erases any previous entry for <code>k</code></p></dd></dl><dl><dt class="spec value" id="val-remove"><a href="#val-remove" class="anchor"></a><code><span class="keyword">val</span> remove : string <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> <a href="index.html#type-t">t</a></code></dt><dd><p>Remove the key from the headers, if present.</p></dd></dl><dl><dt class="spec value" id="val-contains"><a href="#val-contains" class="anchor"></a><code><span class="keyword">val</span> contains : string <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> bool</code></dt><dd><p>Is there a header with the given key?</p></dd></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p>Pretty print the headers.</p></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Meth (tiny_httpd.Tiny_httpd.Meth)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">tiny_httpd</a> &#x00BB; <a href="../index.html">Tiny_httpd</a> &#x00BB; Meth</nav><h1>Module <code>Tiny_httpd.Meth</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code> = <code>[ </code><table class="variant"><tr id="type-t.GET" class="anchored"><td class="def constructor"><a href="#type-t.GET" class="anchor"></a><code>| </code><code>`GET</code></td></tr><tr id="type-t.PUT" class="anchored"><td class="def constructor"><a href="#type-t.PUT" class="anchor"></a><code>| </code><code>`PUT</code></td></tr><tr id="type-t.POST" class="anchored"><td class="def constructor"><a href="#type-t.POST" class="anchor"></a><code>| </code><code>`POST</code></td></tr><tr id="type-t.HEAD" class="anchored"><td class="def constructor"><a href="#type-t.HEAD" class="anchor"></a><code>| </code><code>`HEAD</code></td></tr><tr id="type-t.DELETE" class="anchored"><td class="def constructor"><a href="#type-t.DELETE" class="anchor"></a><code>| </code><code>`DELETE</code></td></tr></table><code> ]</code></dt><dd><p>A HTTP method. For now we only handle a subset of these.</p><p>See https://tools.ietf.org/html/rfc7231#section-4</p></dd></dl><dl><dt class="spec value" id="val-pp"><a href="#val-pp" class="anchor"></a><code><span class="keyword">val</span> pp : Format.formatter <span>&#45;&gt;</span> <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> unit</code></dt><dt class="spec value" id="val-to_string"><a href="#val-to_string" class="anchor"></a><code><span class="keyword">val</span> to_string : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt></dl></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Response_code (tiny_httpd.Tiny_httpd.Response_code)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../../index.html">tiny_httpd</a> &#x00BB; <a href="../index.html">Tiny_httpd</a> &#x00BB; Response_code</nav><h1>Module <code>Tiny_httpd.Response_code</code></h1></header><dl><dt class="spec type" id="type-t"><a href="#type-t" class="anchor"></a><code><span class="keyword">type</span> t</code><code> = int</code></dt><dd><p>A standard HTTP code.</p><p>https://tools.ietf.org/html/rfc7231#section-6</p></dd></dl><dl><dt class="spec value" id="val-ok"><a href="#val-ok" class="anchor"></a><code><span class="keyword">val</span> ok : <a href="index.html#type-t">t</a></code></dt><dd><p>The code <code>200</code></p></dd></dl><dl><dt class="spec value" id="val-not_found"><a href="#val-not_found" class="anchor"></a><code><span class="keyword">val</span> not_found : <a href="index.html#type-t">t</a></code></dt><dd><p>The code <code>404</code></p></dd></dl><dl><dt class="spec value" id="val-descr"><a href="#val-descr" class="anchor"></a><code><span class="keyword">val</span> descr : <a href="index.html#type-t">t</a> <span>&#45;&gt;</span> string</code></dt><dd><p>A description of some of the error codes. NOTE: this is not complete (yet).</p></dd></dl></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Tiny_httpd_util (tiny_httpd.Tiny_httpd_util)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">tiny_httpd</a> &#x00BB; Tiny_httpd_util</nav><h1>Module <code>Tiny_httpd_util</code></h1><h2 id="some-utils-for-writing-web-servers"><a href="#some-utils-for-writing-web-servers" class="anchor"></a>Some utils for writing web servers</h2><dl><dt>since</dt><dd>0.2</dd></dl></header><dl><dt class="spec value" id="val-percent_encode"><a href="#val-percent_encode" class="anchor"></a><code><span class="keyword">val</span> percent_encode : <span>?&#8288;skip:<span>(char <span>&#45;&gt;</span> bool)</span></span> <span>&#45;&gt;</span> string <span>&#45;&gt;</span> string</code></dt><dd><p>Encode the string into a valid path following https://tools.ietf.org/html/rfc3986#section-2.1</p><dl><dt>parameter skip</dt><dd><p>if provided, allows to preserve some characters, e.g. '/' in a path.</p></dd></dl></dd></dl><dl><dt class="spec value" id="val-percent_decode"><a href="#val-percent_decode" class="anchor"></a><code><span class="keyword">val</span> percent_decode : string <span>&#45;&gt;</span> <span>string option</span></code></dt><dd><p>Inverse operation of <a href="index.html#val-percent_encode"><code>percent_encode</code></a>. Can fail since some strings are not valid percent encodings.</p></dd></dl><dl><dt class="spec value" id="val-split_query"><a href="#val-split_query" class="anchor"></a><code><span class="keyword">val</span> split_query : string <span>&#45;&gt;</span> string * string</code></dt><dd><p>Split a path between the path and the query</p><dl><dt>since</dt><dd>0.5</dd></dl></dd></dl><dl><dt class="spec value" id="val-get_non_query_path"><a href="#val-get_non_query_path" class="anchor"></a><code><span class="keyword">val</span> get_non_query_path : string <span>&#45;&gt;</span> string</code></dt><dd><p>get the part of the path that is not the query parameters.</p><dl><dt>since</dt><dd>0.5</dd></dl></dd></dl><dl><dt class="spec value" id="val-get_query"><a href="#val-get_query" class="anchor"></a><code><span class="keyword">val</span> get_query : string <span>&#45;&gt;</span> string</code></dt><dd><p>Obtain the query part of a path.</p><dl><dt>since</dt><dd>0.4</dd></dl></dd></dl><dl><dt class="spec value" id="val-parse_query"><a href="#val-parse_query" class="anchor"></a><code><span class="keyword">val</span> parse_query : string <span>&#45;&gt;</span> <span><span>(<span><span>(string * string)</span> list</span>, string)</span> Pervasives.result</span></code></dt><dd><p>Parse a query as a list of <code>'&amp;'</code> or <code>';'</code> separated <code>key=value</code> pairs. The order might not be preserved.</p><dl><dt>since</dt><dd>0.3</dd></dl></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (tiny_httpd.index)</title><link rel="stylesheet" href="../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> tiny_httpd</nav><h1 id="tiny_httpd-index"><a href="#tiny_httpd-index" class="anchor"></a>tiny_httpd index</h1><nav class="toc"><ul><li><a href="#library-tiny_httpd">Library tiny_httpd</a></li></ul></nav></header><h2 id="library-tiny_httpd"><a href="#library-tiny_httpd" class="anchor"></a>Library tiny_httpd</h2><p>This library exposes the following toplevel modules:</p><ul class="modules"><li><a href="Tiny_httpd/index.html"><code>Tiny_httpd</code></a></li><li><a href="Tiny_httpd_util/index.html"><code>Tiny_httpd_util</code></a></li></ul></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Tiny_httpd_camlzip (tiny_httpd_camlzip.Tiny_httpd_camlzip)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> <a href="../index.html">tiny_httpd_camlzip</a> &#x00BB; Tiny_httpd_camlzip</nav><h1>Module <code>Tiny_httpd_camlzip</code></h1></header><dl><dt class="spec value" id="val-setup"><a href="#val-setup" class="anchor"></a><code><span class="keyword">val</span> setup : <span>?&#8288;buf_size:int</span> <span>&#45;&gt;</span> <a href="../../tiny_httpd/Tiny_httpd/index.html#type-t">Tiny_httpd.t</a> <span>&#45;&gt;</span> unit</code></dt><dd><p>Install callbacks for tiny_httpd to be able to encode/decode compressed streams</p><dl><dt>parameter buf_size</dt><dd><p>size of the underlying buffer for compression/decompression</p></dd></dl></dd></dl></div></body></html>

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>index (tiny_httpd_camlzip.index)</title><link rel="stylesheet" href="../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc %%VERSION%%"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> tiny_httpd_camlzip</nav><h1 id="tiny_httpd_camlzip-index"><a href="#tiny_httpd_camlzip-index" class="anchor"></a>tiny_httpd_camlzip index</h1><nav class="toc"><ul><li><a href="#library-tiny_httpd_camlzip">Library tiny_httpd_camlzip</a></li></ul></nav></header><h2 id="library-tiny_httpd_camlzip"><a href="#library-tiny_httpd_camlzip" class="anchor"></a>Library tiny_httpd_camlzip</h2><p>The entry point of this library is the module: <a href="Tiny_httpd_camlzip/index.html"><code>Tiny_httpd_camlzip</code></a>.</p></div></body></html>

View file

@ -1,7 +1,8 @@
## Documentation
[latest](0.4)
[latest](0.5)
- [0.5](0.5)
- [0.4](0.4)
- [0.3](0.3)
- [0.2](0.2)