diff --git a/dev/odoc.css b/dev/odoc.css index 5362774e..edc8a2b3 100644 --- a/dev/odoc.css +++ b/dev/odoc.css @@ -1,7 +1,7 @@ @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 2.1.0 */ + odoc 2.1.1 */ /* Fonts */ @import url('https://fonts.googleapis.com/css?family=Fira+Mono:400,500'); diff --git a/dev/tiny_httpd/Tiny_httpd/index.html b/dev/tiny_httpd/Tiny_httpd/index.html index 80066f22..2a0d3824 100644 --- a/dev/tiny_httpd/Tiny_httpd/index.html +++ b/dev/tiny_httpd/Tiny_httpd/index.html @@ -1,5 +1,5 @@ -
Tiny_httpdThis library implements a very simple, basic HTTP/1.1 server using blocking IOs and threads. Basic routing based on Scanf is provided for convenience, so that several handlers can be registered.
It is possible to use a thread pool, see create's argument new_thread.
The echo example (see src/examples/echo.ml) demonstrates some of the features by declaring a few endpoints, including one for uploading files:
module S = Tiny_httpd
+Tiny_httpd (tiny_httpd.Tiny_httpd) Module Tiny_httpd
Tiny Http Server
This library implements a very simple, basic HTTP/1.1 server using blocking IOs and threads. Basic routing based on Scanf is provided for convenience, so that several handlers can be registered.
It is possible to use a thread pool, see create's argument new_thread.
The echo example (see src/examples/echo.ml) demonstrates some of the features by declaring a few endpoints, including one for uploading files:
module S = Tiny_httpd
let () =
let server = S.create () in
diff --git a/dev/tiny_httpd/Tiny_httpd_buf/index.html b/dev/tiny_httpd/Tiny_httpd_buf/index.html
index d42bfe3e..27e4d643 100644
--- a/dev/tiny_httpd/Tiny_httpd_buf/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_buf/index.html
@@ -1,2 +1,2 @@
-Tiny_httpd_buf (tiny_httpd.Tiny_httpd_buf) Module Tiny_httpd_buf
Simple buffer.
These buffers are used to avoid allocating too many byte arrays when processing streams and parsing requests.
val size : t -> intval clear : t -> unitval create : ?size:int -> unit -> tval contents : t -> stringval bytes_slice : t -> bytesAccess underlying slice of bytes.
val contents_and_clear : t -> stringGet contents of the buffer and clear it.
val add_bytes : t -> bytes -> int -> int -> unitAppend given bytes slice to the buffer.
\ No newline at end of file
+Tiny_httpd_buf (tiny_httpd.Tiny_httpd_buf) Module Tiny_httpd_buf
Simple buffer.
These buffers are used to avoid allocating too many byte arrays when processing streams and parsing requests.
val size : t -> intval clear : t -> unitval create : ?size:int -> unit -> tval contents : t -> stringval bytes_slice : t -> bytesAccess underlying slice of bytes.
val contents_and_clear : t -> stringGet contents of the buffer and clear it.
val add_bytes : t -> bytes -> int -> int -> unitAppend given bytes slice to the buffer.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_dir/Embedded_fs/index.html b/dev/tiny_httpd/Tiny_httpd_dir/Embedded_fs/index.html
index d36ea1d7..4b417315 100644
--- a/dev/tiny_httpd/Tiny_httpd_dir/Embedded_fs/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_dir/Embedded_fs/index.html
@@ -1,2 +1,2 @@
-Embedded_fs (tiny_httpd.Tiny_httpd_dir.Embedded_fs) Module Tiny_httpd_dir.Embedded_fs
An embedded file system, as a list of files with (relative) paths. This is useful in combination with the "tiny-httpd-mkfs" tool, which embeds the files it's given into a OCaml module.
val create : ?mtime:float -> unit -> tval add_file : ?mtime:float -> t -> path:string -> string -> unitAdd file to the virtual file system.
\ No newline at end of file
+Embedded_fs (tiny_httpd.Tiny_httpd_dir.Embedded_fs) Module Tiny_httpd_dir.Embedded_fs
An embedded file system, as a list of files with (relative) paths. This is useful in combination with the "tiny-httpd-mkfs" tool, which embeds the files it's given into a OCaml module.
val create : ?mtime:float -> unit -> tval add_file : ?mtime:float -> t -> path:string -> string -> unitAdd file to the virtual file system.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_dir/index.html b/dev/tiny_httpd/Tiny_httpd_dir/index.html
index 66211451..64be6c8a 100644
--- a/dev/tiny_httpd/Tiny_httpd_dir/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_dir/index.html
@@ -1,5 +1,5 @@
-Tiny_httpd_dir (tiny_httpd.Tiny_httpd_dir) Module Tiny_httpd_dir
Serving static content from directories
This module provides the same functionality as the "http_of_dir" tool. It exposes a directory (and its subdirectories), with the optional ability to delete or upload files.
type dir_behavior = behavior of static directory.
This controls what happens when the user requests the path to a directory rather than a file.
Type used to prevent users from building a config directly. Use default_config or config instead.
type config = {mutable download : bool;(*Is downloading files allowed?
*) mutable dir_behavior : dir_behavior;(*Behavior when serving a directory and not a file
*) mutable delete : bool;(*Is deleting a file allowed? (with method DELETE)
*) mutable upload : bool;(*Is uploading a file allowed? (with method PUT)
*) mutable max_upload_size : int;(*If upload is true, this is the maximum size in bytes for uploaded files.
*) _rest : hidden;(*Just ignore this field.
*)
}configuration for static file handlers. This might get more fields over time.
val default_config : unit -> configdefault configuration:
+Tiny_httpd_dir (tiny_httpd.Tiny_httpd_dir) Module Tiny_httpd_dir
Serving static content from directories
This module provides the same functionality as the "http_of_dir" tool. It exposes a directory (and its subdirectories), with the optional ability to delete or upload files.
type dir_behavior = behavior of static directory.
This controls what happens when the user requests the path to a directory rather than a file.
Type used to prevent users from building a config directly. Use default_config or config instead.
type config = {mutable download : bool;(*Is downloading files allowed?
*) mutable dir_behavior : dir_behavior;(*Behavior when serving a directory and not a file
*) mutable delete : bool;(*Is deleting a file allowed? (with method DELETE)
*) mutable upload : bool;(*Is uploading a file allowed? (with method PUT)
*) mutable max_upload_size : int;(*If upload is true, this is the maximum size in bytes for uploaded files.
*) _rest : hidden;(*Just ignore this field.
*)
}configuration for static file handlers. This might get more fields over time.
val default_config : unit -> configdefault configuration:
{ download=true
; dir_behavior=Forbidden
; delete=false
diff --git a/dev/tiny_httpd/Tiny_httpd_dir/module-type-VFS/index.html b/dev/tiny_httpd/Tiny_httpd_dir/module-type-VFS/index.html
index 2c6c3b8d..12bda615 100644
--- a/dev/tiny_httpd/Tiny_httpd_dir/module-type-VFS/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_dir/module-type-VFS/index.html
@@ -1,2 +1,2 @@
-VFS (tiny_httpd.Tiny_httpd_dir.VFS) Module type Tiny_httpd_dir.VFS
Virtual file system.
This is used to emulate a file system from pure OCaml functions and data, e.g. for resources bundled inside the web server.
file_exists vfs path returns true if path points to a file or directory inside vfs.
List directory. This only returns basenames, the files need to be put in the directory path using Filename.concat.
Create a file and obtain a pair write, close
val read_file_content : string -> Tiny_httpd_stream.tRead content of a file
\ No newline at end of file
+VFS (tiny_httpd.Tiny_httpd_dir.VFS) Module type Tiny_httpd_dir.VFS
Virtual file system.
This is used to emulate a file system from pure OCaml functions and data, e.g. for resources bundled inside the web server.
file_exists vfs path returns true if path points to a file or directory inside vfs.
List directory. This only returns basenames, the files need to be put in the directory path using Filename.concat.
Create a file and obtain a pair write, close
val read_file_content : string -> Tiny_httpd_stream.tRead content of a file
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_html/index.html b/dev/tiny_httpd/Tiny_httpd_html/index.html
index 258b68b8..af381c50 100644
--- a/dev/tiny_httpd/Tiny_httpd_html/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_html/index.html
@@ -1,4 +1,4 @@
-Tiny_httpd_html (tiny_httpd.Tiny_httpd_html) Module Tiny_httpd_html
HTML combinators.
This module provides combinators to produce html. It doesn't enforce the well-formedness of the html, unlike Tyxml, but it's simple and should be reasonably efficient.
module Out = Tiny_httpd_html_.OutOutput for HTML combinators.
type elt = Out.t -> unitA html element. It is represented by its output function, so we can directly print it.
Element with children, represented as a list.
A chunk of sub-elements, possibly empty.
Element with children, represented as a list of sub_elt to be flattened
val sub_empty : sub_eltSub-element with nothing inside. Useful in conditionals, when one decides not to emit a sub-element at all.
val txt : string -> eltEmit a string value, which will be escaped.
val txtf :
+Tiny_httpd_html (tiny_httpd.Tiny_httpd_html) Module Tiny_httpd_html
HTML combinators.
This module provides combinators to produce html. It doesn't enforce the well-formedness of the html, unlike Tyxml, but it's simple and should be reasonably efficient.
module Out = Tiny_httpd_html_.OutOutput for HTML combinators.
type elt = Out.t -> unitA html element. It is represented by its output function, so we can directly print it.
Element with children, represented as a list.
A chunk of sub-elements, possibly empty.
Element with children, represented as a list of sub_elt to be flattened
val sub_empty : sub_eltSub-element with nothing inside. Useful in conditionals, when one decides not to emit a sub-element at all.
val txt : string -> eltEmit a string value, which will be escaped.
val txtf :
( 'a, Stdlib.Format.formatter, unit, Out.t -> unit ) Stdlib.format4 ->
- 'aFormatted version of txt
val raw_html : string -> eltEmit raw HTML. Caution, this can lead to injection vulnerabilities, never use with text that comes from untrusted users.
tag "menuitem", see mdn
tag "footer", see mdn
tag "footer", see mdn
tag "menu", see mdn
tag "menu", see mdn
tag "nav", see mdn
tag "nav", see mdn
module A = Tiny_httpd_html_.AAttributes.
val to_string : ?top:bool -> elt -> stringConvert a HTML element to a string.
val to_string_l : elt list -> stringConvert a list of HTML elements to a string. This is designed for fragments of HTML that are to be injected inside a bigger context, as it's invalid to have multiple elements at the toplevel of a HTML document.
val to_string_top : elt -> stringval to_stream : elt -> Tiny_httpd_stream.tConvert a HTML element to a stream. This might just convert it to a string first, do not assume it to be more efficient.
\ No newline at end of file
+ 'bFormatted version of txt
val raw_html : string -> eltEmit raw HTML. Caution, this can lead to injection vulnerabilities, never use with text that comes from untrusted users.
tag "menuitem", see mdn
tag "footer", see mdn
tag "footer", see mdn
tag "menu", see mdn
tag "menu", see mdn
tag "nav", see mdn
tag "nav", see mdn
module A = Tiny_httpd_html_.AAttributes.
val to_string : ?top:bool -> elt -> stringConvert a HTML element to a string.
val to_string_l : elt list -> stringConvert a list of HTML elements to a string. This is designed for fragments of HTML that are to be injected inside a bigger context, as it's invalid to have multiple elements at the toplevel of a HTML document.
val to_string_top : elt -> stringval to_stream : elt -> Tiny_httpd_stream.tConvert a HTML element to a stream. This might just convert it to a string first, do not assume it to be more efficient.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_html_/A/index.html b/dev/tiny_httpd/Tiny_httpd_html_/A/index.html
index 004d567b..0d6658ce 100644
--- a/dev/tiny_httpd/Tiny_httpd_html_/A/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_html_/A/index.html
@@ -1,2 +1,2 @@
-A (tiny_httpd.Tiny_httpd_html_.A) Module Tiny_httpd_html_.A
Attributes.
This module contains combinator for the standard attributes. One can also just use a pair of strings.
type t = string -> attributeAttribute builder
val accept : tAttribute "accept".
val accept_charset : tAttribute "accept-charset".
val accesskey : tAttribute "accesskey".
val action : tAttribute "action".
val align : tAttribute "align".
val allow : tAttribute "allow".
val alt : tAttribute "alt".
val async : tAttribute "async".
val autocapitalize : tAttribute "autocapitalize".
val autocomplete : tAttribute "autocomplete".
val autofocus : tAttribute "autofocus".
val autoplay : tAttribute "autoplay".
val buffered : tAttribute "buffered".
val capture : tAttribute "capture".
val challenge : tAttribute "challenge".
val charset : tAttribute "charset".
val checked : tAttribute "checked".
val cite : tAttribute "cite".
val class_ : tAttribute "class".
val code : tAttribute "code".
val codebase : tAttribute "codebase".
val cols : tAttribute "cols".
val colspan : tAttribute "colspan".
val content : tAttribute "content".
val contenteditable : tAttribute "contenteditable".
Attribute "contextmenu".
val controls : tAttribute "controls".
val coords : tAttribute "coords".
val crossorigin : tAttribute "crossorigin".
val csp : tAttribute "csp".
val data : tAttribute "data".
val data_star : tAttribute "data-*".
val datetime : tAttribute "datetime".
val decoding : tAttribute "decoding".
val default : tAttribute "default".
val defer : tAttribute "defer".
val dir : tAttribute "dir".
val dirname : tAttribute "dirname".
val disabled : tAttribute "disabled".
val download : tAttribute "download".
val draggable : tAttribute "draggable".
val enctype : tAttribute "enctype".
val enterkeyhint : tAttribute "enterkeyhint".
val for_ : tAttribute "for".
val form : tAttribute "form".
val formaction : tAttribute "formaction".
val formenctype : tAttribute "formenctype".
val formmethod : tAttribute "formmethod".
val formnovalidate : tAttribute "formnovalidate".
val formtarget : tAttribute "formtarget".
val headers : tAttribute "headers".
Attribute "hidden".
val high : tAttribute "high".
val href : tAttribute "href".
val hreflang : tAttribute "hreflang".
val http_equiv : tAttribute "http-equiv".
val icon : tAttribute "icon".
val id : tAttribute "id".
val importance : tAttribute "importance".
val integrity : tAttribute "integrity".
val ismap : tAttribute "ismap".
val itemprop : tAttribute "itemprop".
val keytype : tAttribute "keytype".
val kind : tAttribute "kind".
val label : tAttribute "label".
val lang : tAttribute "lang".
val language : tAttribute "language".
val list : tAttribute "list".
val loop : tAttribute "loop".
val low : tAttribute "low".
val manifest : tAttribute "manifest".
val max : tAttribute "max".
val maxlength : tAttribute "maxlength".
val minlength : tAttribute "minlength".
val media : tAttribute "media".
val method_ : tAttribute "method".
val min : tAttribute "min".
val multiple : tAttribute "multiple".
val muted : tAttribute "muted".
val name : tAttribute "name".
val novalidate : tAttribute "novalidate".
val open_ : tAttribute "open".
val optimum : tAttribute "optimum".
val pattern : tAttribute "pattern".
val ping : tAttribute "ping".
val placeholder : tAttribute "placeholder".
val poster : tAttribute "poster".
val preload : tAttribute "preload".
val radiogroup : tAttribute "radiogroup".
val readonly : tAttribute "readonly".
val referrerpolicy : tAttribute "referrerpolicy".
val rel : tAttribute "rel".
val required : tAttribute "required".
val reversed : tAttribute "reversed".
val rows : tAttribute "rows".
val rowspan : tAttribute "rowspan".
val sandbox : tAttribute "sandbox".
val scope : tAttribute "scope".
val scoped : tAttribute "scoped".
val selected : tAttribute "selected".
val shape : tAttribute "shape".
val size : tAttribute "size".
val sizes : tAttribute "sizes".
val slot : tAttribute "slot".
val span : tAttribute "span".
val spellcheck : tAttribute "spellcheck".
val src : tAttribute "src".
val srcdoc : tAttribute "srcdoc".
val srclang : tAttribute "srclang".
val srcset : tAttribute "srcset".
val start : tAttribute "start".
val step : tAttribute "step".
val style : tAttribute "style".
val summary : tAttribute "summary".
val tabindex : tAttribute "tabindex".
val target : tAttribute "target".
val title : tAttribute "title".
val translate : tAttribute "translate".
val text : tAttribute "Text".
val type_ : tAttribute "type".
val usemap : tAttribute "usemap".
val value : tAttribute "value".
val width : tAttribute "width".
val wrap : tAttribute "wrap".
\ No newline at end of file
+A (tiny_httpd.Tiny_httpd_html_.A) Module Tiny_httpd_html_.A
Attributes.
This module contains combinator for the standard attributes. One can also just use a pair of strings.
type t = string -> attributeAttribute builder
val accept : tAttribute "accept".
val accept_charset : tAttribute "accept-charset".
val accesskey : tAttribute "accesskey".
val action : tAttribute "action".
val align : tAttribute "align".
val allow : tAttribute "allow".
val alt : tAttribute "alt".
val async : tAttribute "async".
val autocapitalize : tAttribute "autocapitalize".
val autocomplete : tAttribute "autocomplete".
val autofocus : tAttribute "autofocus".
val autoplay : tAttribute "autoplay".
val buffered : tAttribute "buffered".
val capture : tAttribute "capture".
val challenge : tAttribute "challenge".
val charset : tAttribute "charset".
val checked : tAttribute "checked".
val cite : tAttribute "cite".
val class_ : tAttribute "class".
val code : tAttribute "code".
val codebase : tAttribute "codebase".
val cols : tAttribute "cols".
val colspan : tAttribute "colspan".
val content : tAttribute "content".
val contenteditable : tAttribute "contenteditable".
Attribute "contextmenu".
val controls : tAttribute "controls".
val coords : tAttribute "coords".
val crossorigin : tAttribute "crossorigin".
val csp : tAttribute "csp".
val data : tAttribute "data".
val data_star : tAttribute "data-*".
val datetime : tAttribute "datetime".
val decoding : tAttribute "decoding".
val default : tAttribute "default".
val defer : tAttribute "defer".
val dir : tAttribute "dir".
val dirname : tAttribute "dirname".
val disabled : tAttribute "disabled".
val download : tAttribute "download".
val draggable : tAttribute "draggable".
val enctype : tAttribute "enctype".
val enterkeyhint : tAttribute "enterkeyhint".
val for_ : tAttribute "for".
val form : tAttribute "form".
val formaction : tAttribute "formaction".
val formenctype : tAttribute "formenctype".
val formmethod : tAttribute "formmethod".
val formnovalidate : tAttribute "formnovalidate".
val formtarget : tAttribute "formtarget".
val headers : tAttribute "headers".
Attribute "hidden".
val high : tAttribute "high".
val href : tAttribute "href".
val hreflang : tAttribute "hreflang".
val http_equiv : tAttribute "http-equiv".
val icon : tAttribute "icon".
val id : tAttribute "id".
val importance : tAttribute "importance".
val integrity : tAttribute "integrity".
val ismap : tAttribute "ismap".
val itemprop : tAttribute "itemprop".
val keytype : tAttribute "keytype".
val kind : tAttribute "kind".
val label : tAttribute "label".
val lang : tAttribute "lang".
val language : tAttribute "language".
val list : tAttribute "list".
val loop : tAttribute "loop".
val low : tAttribute "low".
val manifest : tAttribute "manifest".
val max : tAttribute "max".
val maxlength : tAttribute "maxlength".
val minlength : tAttribute "minlength".
val media : tAttribute "media".
val method_ : tAttribute "method".
val min : tAttribute "min".
val multiple : tAttribute "multiple".
val muted : tAttribute "muted".
val name : tAttribute "name".
val novalidate : tAttribute "novalidate".
val open_ : tAttribute "open".
val optimum : tAttribute "optimum".
val pattern : tAttribute "pattern".
val ping : tAttribute "ping".
val placeholder : tAttribute "placeholder".
val poster : tAttribute "poster".
val preload : tAttribute "preload".
val radiogroup : tAttribute "radiogroup".
val readonly : tAttribute "readonly".
val referrerpolicy : tAttribute "referrerpolicy".
val rel : tAttribute "rel".
val required : tAttribute "required".
val reversed : tAttribute "reversed".
val rows : tAttribute "rows".
val rowspan : tAttribute "rowspan".
val sandbox : tAttribute "sandbox".
val scope : tAttribute "scope".
val scoped : tAttribute "scoped".
val selected : tAttribute "selected".
val shape : tAttribute "shape".
val size : tAttribute "size".
val sizes : tAttribute "sizes".
val slot : tAttribute "slot".
val span : tAttribute "span".
val spellcheck : tAttribute "spellcheck".
val src : tAttribute "src".
val srcdoc : tAttribute "srcdoc".
val srclang : tAttribute "srclang".
val srcset : tAttribute "srcset".
val start : tAttribute "start".
val step : tAttribute "step".
val style : tAttribute "style".
val summary : tAttribute "summary".
val tabindex : tAttribute "tabindex".
val target : tAttribute "target".
val title : tAttribute "title".
val translate : tAttribute "translate".
val text : tAttribute "Text".
val type_ : tAttribute "type".
val usemap : tAttribute "usemap".
val value : tAttribute "value".
val width : tAttribute "width".
val wrap : tAttribute "wrap".
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_html_/Out/index.html b/dev/tiny_httpd/Tiny_httpd_html_/Out/index.html
index 419c4631..bf3ffac4 100644
--- a/dev/tiny_httpd/Tiny_httpd_html_/Out/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_html_/Out/index.html
@@ -1,2 +1,2 @@
-Out (tiny_httpd.Tiny_httpd_html_.Out) Module Tiny_httpd_html_.Out
Output for HTML combinators.
This output type is used to produce a string reasonably efficiently from a tree of combinators.
val create : unit -> tval clear : t -> unitval add_char : t -> char -> unitval add_string : t -> string -> unitval add_format_nl : t -> unitval with_no_format_nl : t -> ( unit -> 'a ) -> 'aval to_string : t -> string
\ No newline at end of file
+Out (tiny_httpd.Tiny_httpd_html_.Out) Module Tiny_httpd_html_.Out
Output for HTML combinators.
This output type is used to produce a string reasonably efficiently from a tree of combinators.
val create : unit -> tval clear : t -> unitval add_char : t -> char -> unitval add_string : t -> string -> unitval add_format_nl : t -> unitval with_no_format_nl : t -> ( unit -> 'a ) -> 'aval to_string : t -> string
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_html_/index.html b/dev/tiny_httpd/Tiny_httpd_html_/index.html
index c59d0044..7b4b1364 100644
--- a/dev/tiny_httpd/Tiny_httpd_html_/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_html_/index.html
@@ -1,4 +1,4 @@
-Tiny_httpd_html_ (tiny_httpd.Tiny_httpd_html_) Module Tiny_httpd_html_
module Out : sig ... endOutput for HTML combinators.
type elt = Out.t -> unitA html element. It is represented by its output function, so we can directly print it.
Element with children, represented as a list.
A chunk of sub-elements, possibly empty.
Element with children, represented as a list of sub_elt to be flattened
val sub_empty : sub_eltSub-element with nothing inside. Useful in conditionals, when one decides not to emit a sub-element at all.
val txt : string -> eltEmit a string value, which will be escaped.
val txtf :
+Tiny_httpd_html_ (tiny_httpd.Tiny_httpd_html_) Module Tiny_httpd_html_
module Out : sig ... endOutput for HTML combinators.
type elt = Out.t -> unitA html element. It is represented by its output function, so we can directly print it.
Element with children, represented as a list.
A chunk of sub-elements, possibly empty.
Element with children, represented as a list of sub_elt to be flattened
val sub_empty : sub_eltSub-element with nothing inside. Useful in conditionals, when one decides not to emit a sub-element at all.
val txt : string -> eltEmit a string value, which will be escaped.
val txtf :
( 'a, Stdlib.Format.formatter, unit, Out.t -> unit ) Stdlib.format4 ->
- 'aFormatted version of txt
val raw_html : string -> eltEmit raw HTML. Caution, this can lead to injection vulnerabilities, never use with text that comes from untrusted users.
tag "menuitem", see mdn
tag "footer", see mdn
tag "footer", see mdn
tag "menu", see mdn
tag "menu", see mdn
tag "nav", see mdn
tag "nav", see mdn
module A : sig ... endAttributes.
\ No newline at end of file
+ 'bFormatted version of txt
val raw_html : string -> eltEmit raw HTML. Caution, this can lead to injection vulnerabilities, never use with text that comes from untrusted users.
tag "menuitem", see mdn
tag "footer", see mdn
tag "footer", see mdn
tag "menu", see mdn
tag "menu", see mdn
tag "nav", see mdn
tag "nav", see mdn
module A : sig ... endAttributes.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_server/Headers/index.html b/dev/tiny_httpd/Tiny_httpd_server/Headers/index.html
index 1bd19b53..1b839300 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/Headers/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/Headers/index.html
@@ -1,2 +1,2 @@
-Headers (tiny_httpd.Tiny_httpd_server.Headers) Module Tiny_httpd_server.Headers
The header files of a request or response.
Neither the key nor the value can contain '\r' or '\n'. See https://tools.ietf.org/html/rfc7230#section-3.2
val empty : tEmpty list of headers
val get : ?f:( string -> string ) -> string -> t -> string optionget k headers looks for the header field with key k.
set k v headers sets the key k to value v. It erases any previous entry for k
val contains : string -> t -> boolIs there a header with the given key?
val pp : Stdlib.Format.formatter -> t -> unitPretty print the headers.
\ No newline at end of file
+Headers (tiny_httpd.Tiny_httpd_server.Headers) Module Tiny_httpd_server.Headers
The header files of a request or response.
Neither the key nor the value can contain '\r' or '\n'. See https://tools.ietf.org/html/rfc7230#section-3.2
val empty : tEmpty list of headers
val get : ?f:( string -> string ) -> string -> t -> string optionget k headers looks for the header field with key k.
set k v headers sets the key k to value v. It erases any previous entry for k
val contains : string -> t -> boolIs there a header with the given key?
val pp : Stdlib.Format.formatter -> t -> unitPretty print the headers.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_server/Meth/index.html b/dev/tiny_httpd/Tiny_httpd_server/Meth/index.html
index 532d824d..b0eaf5d0 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/Meth/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/Meth/index.html
@@ -1,2 +1,2 @@
-Meth (tiny_httpd.Tiny_httpd_server.Meth) Module Tiny_httpd_server.Meth
A HTTP method. For now we only handle a subset of these.
See https://tools.ietf.org/html/rfc7231#section-4
val pp : Stdlib.Format.formatter -> t -> unitval to_string : t -> string
\ No newline at end of file
+Meth (tiny_httpd.Tiny_httpd_server.Meth) Module Tiny_httpd_server.Meth
A HTTP method. For now we only handle a subset of these.
See https://tools.ietf.org/html/rfc7231#section-4
val pp : Stdlib.Format.formatter -> t -> unitval to_string : t -> string
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_server/Middleware/index.html b/dev/tiny_httpd/Tiny_httpd_server/Middleware/index.html
index 6ee77bd2..fde69850 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/Middleware/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/Middleware/index.html
@@ -1,2 +1,2 @@
-Middleware (tiny_httpd.Tiny_httpd_server.Middleware) Module Tiny_httpd_server.Middleware
Middlewares
A middleware can be inserted in a handler to modify or observe its behavior.
type handler = byte_stream Request.t -> resp:( Response.t -> unit ) -> unitHandlers are functions returning a response to a request. The response can be delayed, hence the use of a continuation as the resp parameter.
A middleware is a handler transformation.
It takes the existing handler h, and returns a new one which, given a query, modify it or log it before passing it to h, or fail. It can also log or modify or drop the response.
val nil : tTrivial middleware that does nothing.
\ No newline at end of file
+Middleware (tiny_httpd.Tiny_httpd_server.Middleware) Module Tiny_httpd_server.Middleware
Middlewares
A middleware can be inserted in a handler to modify or observe its behavior.
type handler = byte_stream Request.t -> resp:( Response.t -> unit ) -> unitHandlers are functions returning a response to a request. The response can be delayed, hence the use of a continuation as the resp parameter.
A middleware is a handler transformation.
It takes the existing handler h, and returns a new one which, given a query, modify it or log it before passing it to h, or fail. It can also log or modify or drop the response.
val nil : tTrivial middleware that does nothing.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_server/Request/index.html b/dev/tiny_httpd/Tiny_httpd_server/Request/index.html
index 6ee8034b..8a2cecf7 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/Request/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/Request/index.html
@@ -1,2 +1,2 @@
-Request (tiny_httpd.Tiny_httpd_server.Request) Module Tiny_httpd_server.Request
type 'body t = private {meth : Meth.t;host : string;headers : Headers.t;http_version : int * int;path : string;path_components : string list;query : (string * string) list;body : 'body;start_time : float;(*Obtained via get_time_s in create
*)
}A request with method, path, host, headers, and a body, sent by a client.
The body is polymorphic because the request goes through several transformations. First it has no body, as only the request and headers are read; then it has a stream body; then the body might be entirely read as a string via read_body_full.
val pp : Stdlib.Format.formatter -> string t -> unitPretty print the request and its body
val pp_ : Stdlib.Format.formatter -> _ t -> unitPretty print the request without its body
val get_header : ?f:( string -> string ) -> _ t -> string -> string optionval get_header_int : _ t -> string -> int optionset_header k v req sets k: v in the request req's headers.
val host : _ t -> stringHost field of the request. It also appears in the headers.
val path : _ t -> stringRequest path.
val body : 'b t -> 'bRequest body, possibly empty.
val start_time : _ t -> floattime stamp (from Unix.gettimeofday) after parsing the first line of the request
val limit_body_size : max_size:int -> byte_stream t -> byte_stream tLimit the body size to max_size bytes, or return a 413 error.
val read_body_full : ?buf_size:int -> byte_stream t -> string tRead the whole body into a string. Potentially blocking.
\ No newline at end of file
+Request (tiny_httpd.Tiny_httpd_server.Request) Module Tiny_httpd_server.Request
type 'body t = private {meth : Meth.t;host : string;headers : Headers.t;http_version : int * int;path : string;path_components : string list;query : (string * string) list;body : 'body;start_time : float;(*Obtained via get_time_s in create
*)
}A request with method, path, host, headers, and a body, sent by a client.
The body is polymorphic because the request goes through several transformations. First it has no body, as only the request and headers are read; then it has a stream body; then the body might be entirely read as a string via read_body_full.
val pp : Stdlib.Format.formatter -> string t -> unitPretty print the request and its body
val pp_ : Stdlib.Format.formatter -> _ t -> unitPretty print the request without its body
val get_header : ?f:( string -> string ) -> _ t -> string -> string optionval get_header_int : _ t -> string -> int optionset_header k v req sets k: v in the request req's headers.
val host : _ t -> stringHost field of the request. It also appears in the headers.
val path : _ t -> stringRequest path.
val body : 'b t -> 'bRequest body, possibly empty.
val start_time : _ t -> floattime stamp (from Unix.gettimeofday) after parsing the first line of the request
val limit_body_size : max_size:int -> byte_stream t -> byte_stream tLimit the body size to max_size bytes, or return a 413 error.
val read_body_full : ?buf_size:int -> byte_stream t -> string tRead the whole body into a string. Potentially blocking.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_server/Response/index.html b/dev/tiny_httpd/Tiny_httpd_server/Response/index.html
index 5b129e45..c06348eb 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/Response/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/Response/index.html
@@ -1,5 +1,5 @@
-Response (tiny_httpd.Tiny_httpd_server.Response) Module Tiny_httpd_server.Response
Body of a response, either as a simple string, or a stream of bytes, or nothing (for server-sent events).
type t = private {code : Response_code.t;(*HTTP response code. See Response_code.
*) headers : Headers.t;(*Headers of the reply. Some will be set by Tiny_httpd automatically.
*) body : body;(*Body of the response. Can be empty.
*)
}A response to send back to a client.
val set_code : Response_code.t -> t -> tSet the response code.
val make_raw : ?headers:Headers.t -> code:Response_code.t -> string -> tMake a response from its raw components, with a string body. Use "" to not send a body at all.
val make_raw_stream :
+Response (tiny_httpd.Tiny_httpd_server.Response) Module Tiny_httpd_server.Response
Body of a response, either as a simple string, or a stream of bytes, or nothing (for server-sent events).
type t = private {code : Response_code.t;(*HTTP response code. See Response_code.
*) headers : Headers.t;(*Headers of the reply. Some will be set by Tiny_httpd automatically.
*) body : body;(*Body of the response. Can be empty.
*)
}A response to send back to a client.
val set_code : Response_code.t -> t -> tSet the response code.
val make_raw : ?headers:Headers.t -> code:Response_code.t -> string -> tMake a response from its raw components, with a string body. Use "" to not send a body at all.
val make_raw_stream :
?headers:Headers.t ->
code:Response_code.t ->
byte_stream ->
diff --git a/dev/tiny_httpd/Tiny_httpd_server/Response_code/index.html b/dev/tiny_httpd/Tiny_httpd_server/Response_code/index.html
index 1221c1ee..fa0c8150 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/Response_code/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/Response_code/index.html
@@ -1,2 +1,2 @@
-Response_code (tiny_httpd.Tiny_httpd_server.Response_code) Module Tiny_httpd_server.Response_code
val ok : tThe code 200
val not_found : tThe code 404
val descr : t -> stringA description of some of the error codes. NOTE: this is not complete (yet).
\ No newline at end of file
+Response_code (tiny_httpd.Tiny_httpd_server.Response_code) Module Tiny_httpd_server.Response_code
val ok : tThe code 200
val not_found : tThe code 404
val descr : t -> stringA description of some of the error codes. NOTE: this is not complete (yet).
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_server/Route/index.html b/dev/tiny_httpd/Tiny_httpd_server/Route/index.html
index f366ec40..a9eece1a 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/Route/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/Route/index.html
@@ -1,2 +1,2 @@
-Route (tiny_httpd.Tiny_httpd_server.Route) Module Tiny_httpd_server.Route
Routing
Basic type-safe routing.
val int : ( int -> 'a, 'a ) compMatches an integer.
val string : ( string -> 'a, 'a ) compMatches a string not containing '/' and binds it as is.
val string_urlencoded : ( string -> 'a, 'a ) compMatches a URL-encoded string, and decodes it.
val exact : string -> ( 'a, 'a ) compexact "s" matches "s" and nothing else.
val return : ( 'a, 'a ) tMatches the empty path.
val rest_of_path : ( string -> 'a, 'a ) tMatches a string, even containing '/'. This will match the entirety of the remaining route.
val rest_of_path_urlencoded : ( string -> 'a, 'a ) tMatches a string, even containing '/', an URL-decode it. This will match the entirety of the remaining route.
comp / route matches "foo/bar/…" iff comp matches "foo", and route matches "bar/…".
exact_path "foo/bar/..." r is equivalent to exact "foo" @/ exact "bar" @/ ... @/ r
val pp : Stdlib.Format.formatter -> ( _, _ ) t -> unitPrint the route.
val to_string : ( _, _ ) t -> stringPrint the route.
\ No newline at end of file
+Route (tiny_httpd.Tiny_httpd_server.Route) Module Tiny_httpd_server.Route
Routing
Basic type-safe routing.
val int : ( int -> 'a, 'a ) compMatches an integer.
val string : ( string -> 'a, 'a ) compMatches a string not containing '/' and binds it as is.
val string_urlencoded : ( string -> 'a, 'a ) compMatches a URL-encoded string, and decodes it.
val exact : string -> ( 'a, 'a ) compexact "s" matches "s" and nothing else.
val return : ( 'a, 'a ) tMatches the empty path.
val rest_of_path : ( string -> 'a, 'a ) tMatches a string, even containing '/'. This will match the entirety of the remaining route.
val rest_of_path_urlencoded : ( string -> 'a, 'a ) tMatches a string, even containing '/', an URL-decode it. This will match the entirety of the remaining route.
comp / route matches "foo/bar/…" iff comp matches "foo", and route matches "bar/…".
exact_path "foo/bar/..." r is equivalent to exact "foo" @/ exact "bar" @/ ... @/ r
val pp : Stdlib.Format.formatter -> ( _, _ ) t -> unitPrint the route.
val to_string : ( _, _ ) t -> stringPrint the route.
\ No newline at end of file
diff --git a/dev/tiny_httpd/Tiny_httpd_server/index.html b/dev/tiny_httpd/Tiny_httpd_server/index.html
index 943e8a28..05b86cee 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/index.html
@@ -1,5 +1,5 @@
-Tiny_httpd_server (tiny_httpd.Tiny_httpd_server) Module Tiny_httpd_server
HTTP server.
This module implements a very simple, basic HTTP/1.1 server using blocking IOs and threads.
It is possible to use a thread pool, see create's argument new_thread.
type buf = Tiny_httpd_buf.ttype byte_stream = Tiny_httpd_stream.tMethods
module Meth : sig ... endHeaders
Headers are metadata associated with a request or response.
module Headers : sig ... endRequests
Requests are sent by a client, e.g. a web browser or cURL.
module Request : sig ... endResponse Codes
module Response_code : sig ... endResponses
Responses are what a http server, such as Tiny_httpd, send back to the client to answer a Request.t
module Response : sig ... endmodule Route : sig ... endmodule Middleware : sig ... endMain Server type
A HTTP server. See create for more details.
val create :
+Tiny_httpd_server (tiny_httpd.Tiny_httpd_server) Module Tiny_httpd_server
HTTP server.
This module implements a very simple, basic HTTP/1.1 server using blocking IOs and threads.
It is possible to use a thread pool, see create's argument new_thread.
type buf = Tiny_httpd_buf.ttype byte_stream = Tiny_httpd_stream.tMethods
module Meth : sig ... endHeaders
Headers are metadata associated with a request or response.
module Headers : sig ... endRequests
Requests are sent by a client, e.g. a web browser or cURL.
module Request : sig ... endResponse Codes
module Response_code : sig ... endResponses
Responses are what a http server, such as Tiny_httpd, send back to the client to answer a Request.t
module Response : sig ... endmodule Route : sig ... endmodule Middleware : sig ... endMain Server type
A HTTP server. See create for more details.
val create :
?masksigpipe:bool ->
?max_connections:int ->
?timeout:float ->
diff --git a/dev/tiny_httpd/Tiny_httpd_server/module-type-SERVER_SENT_GENERATOR/index.html b/dev/tiny_httpd/Tiny_httpd_server/module-type-SERVER_SENT_GENERATOR/index.html
index a602d7ff..ce9bcf65 100644
--- a/dev/tiny_httpd/Tiny_httpd_server/module-type-SERVER_SENT_GENERATOR/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_server/module-type-SERVER_SENT_GENERATOR/index.html
@@ -1,5 +1,5 @@
-SERVER_SENT_GENERATOR (tiny_httpd.Tiny_httpd_server.SERVER_SENT_GENERATOR) Module type Tiny_httpd_server.SERVER_SENT_GENERATOR
A server-side function to generate of Server-sent events.
See the w3c page and this blog post.
val set_headers : Headers.t -> unitSet headers of the response. This is not mandatory but if used at all, it must be called before any call to send_event (once events are sent the response is already sent too).
val send_event :
+SERVER_SENT_GENERATOR (tiny_httpd.Tiny_httpd_server.SERVER_SENT_GENERATOR) Module type Tiny_httpd_server.SERVER_SENT_GENERATOR
A server-side function to generate of Server-sent events.
See the w3c page and this blog post.
val set_headers : Headers.t -> unitSet headers of the response. This is not mandatory but if used at all, it must be called before any call to send_event (once events are sent the response is already sent too).
val send_event :
?event:string ->
?id:string ->
?retry:string ->
diff --git a/dev/tiny_httpd/Tiny_httpd_stream/index.html b/dev/tiny_httpd/Tiny_httpd_stream/index.html
index 016dcf30..1aae0fd4 100644
--- a/dev/tiny_httpd/Tiny_httpd_stream/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_stream/index.html
@@ -1,5 +1,5 @@
-Tiny_httpd_stream (tiny_httpd.Tiny_httpd_stream) Module Tiny_httpd_stream
Byte streams.
These used to live in Tiny_httpd but are now in their own module.
type t = {mutable bs : bytes;(*The bytes
*) mutable off : int;(*Beginning of valid slice in bs
*) mutable len : int;(*Length of valid slice in bs. If len = 0 after a call to fill, then the stream is finished.
*) fill_buf : unit -> unit;(*See the current slice of the internal buffer as bytes, i, len, where the slice is bytes[i] .. [bytes[i+len-1]]. Can block to refill the buffer if there is currently no content. If len=0 then there is no more data.
*) consume : int -> unit;(*Consume n bytes from the buffer. This should only be called with n <= len.
*) close : unit -> unit;(*Close the stream.
*) _rest : hidden;(*Use make to build a stream.
*)
}A buffered stream, with a view into the current buffer (or refill if empty), and a function to consume n bytes. See Byte_stream for more details.
val close : t -> unitClose stream
val empty : tStream with 0 bytes inside
val of_chan : ?buf_size:int -> Stdlib.in_channel -> tMake a buffered stream from the given channel.
val of_chan_close_noerr : ?buf_size:int -> Stdlib.in_channel -> tSame as of_chan but the close method will never fail.
val of_bytes : ?i:int -> ?len:int -> bytes -> tA stream that just returns the slice of bytes starting from i and of length len.
val of_string : string -> tval iter : ( bytes -> int -> int -> unit ) -> t -> unitIterate on the chunks of the stream
val to_chan : Stdlib.out_channel -> t -> unitWrite the stream to the channel.
val make :
+Tiny_httpd_stream (tiny_httpd.Tiny_httpd_stream) Module Tiny_httpd_stream
Byte streams.
These used to live in Tiny_httpd but are now in their own module.
type t = {mutable bs : bytes;(*The bytes
*) mutable off : int;(*Beginning of valid slice in bs
*) mutable len : int;(*Length of valid slice in bs. If len = 0 after a call to fill, then the stream is finished.
*) fill_buf : unit -> unit;(*See the current slice of the internal buffer as bytes, i, len, where the slice is bytes[i] .. [bytes[i+len-1]]. Can block to refill the buffer if there is currently no content. If len=0 then there is no more data.
*) consume : int -> unit;(*Consume n bytes from the buffer. This should only be called with n <= len.
*) close : unit -> unit;(*Close the stream.
*) _rest : hidden;(*Use make to build a stream.
*)
}A buffered stream, with a view into the current buffer (or refill if empty), and a function to consume n bytes. See Byte_stream for more details.
val close : t -> unitClose stream
val empty : tStream with 0 bytes inside
val of_chan : ?buf_size:int -> Stdlib.in_channel -> tMake a buffered stream from the given channel.
val of_chan_close_noerr : ?buf_size:int -> Stdlib.in_channel -> tSame as of_chan but the close method will never fail.
val of_bytes : ?i:int -> ?len:int -> bytes -> tA stream that just returns the slice of bytes starting from i and of length len.
val of_string : string -> tval iter : ( bytes -> int -> int -> unit ) -> t -> unitIterate on the chunks of the stream
val to_chan : Stdlib.out_channel -> t -> unitWrite the stream to the channel.
val make :
?bs:bytes ->
?close:( t -> unit ) ->
consume:( t -> int -> unit ) ->
diff --git a/dev/tiny_httpd/Tiny_httpd_util/index.html b/dev/tiny_httpd/Tiny_httpd_util/index.html
index e7a5173d..974d3c02 100644
--- a/dev/tiny_httpd/Tiny_httpd_util/index.html
+++ b/dev/tiny_httpd/Tiny_httpd_util/index.html
@@ -1,2 +1,2 @@
-Tiny_httpd_util (tiny_httpd.Tiny_httpd_util) Module Tiny_httpd_util
Some utils for writing web servers
Encode the string into a valid path following https://tools.ietf.org/html/rfc3986#section-2.1
Inverse operation of percent_encode. Can fail since some strings are not valid percent encodings.
\ No newline at end of file
+Tiny_httpd_util (tiny_httpd.Tiny_httpd_util) Module Tiny_httpd_util
Some utils for writing web servers
Encode the string into a valid path following https://tools.ietf.org/html/rfc3986#section-2.1
Inverse operation of percent_encode. Can fail since some strings are not valid percent encodings.
\ No newline at end of file
diff --git a/dev/tiny_httpd/index.html b/dev/tiny_httpd/index.html
index 28094494..6cb4eeb9 100644
--- a/dev/tiny_httpd/index.html
+++ b/dev/tiny_httpd/index.html
@@ -1,2 +1,2 @@
-index (tiny_httpd.index) tiny_httpd index
Library tiny_httpd
This library exposes the following toplevel modules:
Tiny_httpd Tiny_httpd_buf Simple buffer.Tiny_httpd_dir Serving static content from directoriesTiny_httpd_html HTML combinators.Tiny_httpd_html_ Tiny_httpd_server HTTP server.Tiny_httpd_stream Byte streams.Tiny_httpd_util
\ No newline at end of file
+index (tiny_httpd.index) tiny_httpd index
Library tiny_httpd
This library exposes the following toplevel modules:
Tiny_httpd Tiny_httpd_buf Simple buffer.Tiny_httpd_dir Serving static content from directoriesTiny_httpd_html HTML combinators.Tiny_httpd_html_ Tiny_httpd_server HTTP server.Tiny_httpd_stream Byte streams.Tiny_httpd_util
\ No newline at end of file
diff --git a/dev/tiny_httpd_camlzip/Tiny_httpd_camlzip/index.html b/dev/tiny_httpd_camlzip/Tiny_httpd_camlzip/index.html
index 7c3668d1..b3a66ecb 100644
--- a/dev/tiny_httpd_camlzip/Tiny_httpd_camlzip/index.html
+++ b/dev/tiny_httpd_camlzip/Tiny_httpd_camlzip/index.html
@@ -1,5 +1,5 @@
-Tiny_httpd_camlzip (tiny_httpd_camlzip.Tiny_httpd_camlzip) Module Tiny_httpd_camlzip
val middleware :
+Tiny_httpd_camlzip (tiny_httpd_camlzip.Tiny_httpd_camlzip) Module Tiny_httpd_camlzip
val middleware :
?compress_above:int ->
?buf_size:int ->
unit ->
diff --git a/dev/tiny_httpd_camlzip/index.html b/dev/tiny_httpd_camlzip/index.html
index ced1a01e..7efe5809 100644
--- a/dev/tiny_httpd_camlzip/index.html
+++ b/dev/tiny_httpd_camlzip/index.html
@@ -1,2 +1,2 @@
-index (tiny_httpd_camlzip.index) tiny_httpd_camlzip index
Library tiny_httpd_camlzip
The entry point of this library is the module: Tiny_httpd_camlzip.
\ No newline at end of file
+index (tiny_httpd_camlzip.index) tiny_httpd_camlzip index
Library tiny_httpd_camlzip
The entry point of this library is the module: Tiny_httpd_camlzip.
\ No newline at end of file