]> matita.cs.unibo.it Git - helm.git/commitdiff
- changed license to lgpl
authorStefano Zacchiroli <zack@upsilon.cc>
Tue, 8 Feb 2005 12:16:04 +0000 (12:16 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Tue, 8 Feb 2005 12:16:04 +0000 (12:16 +0000)
- bumped copyright
- improved ocamldoc comments

29 files changed:
helm/DEVEL/ocaml-http/INSTALL
helm/DEVEL/ocaml-http/Makefile
helm/DEVEL/ocaml-http/Makefile.defs
helm/DEVEL/ocaml-http/TODO
helm/DEVEL/ocaml-http/http_common.ml
helm/DEVEL/ocaml-http/http_common.mli
helm/DEVEL/ocaml-http/http_constants.ml
helm/DEVEL/ocaml-http/http_constants.mli
helm/DEVEL/ocaml-http/http_daemon.ml
helm/DEVEL/ocaml-http/http_daemon.mli
helm/DEVEL/ocaml-http/http_message.ml
helm/DEVEL/ocaml-http/http_message.mli
helm/DEVEL/ocaml-http/http_misc.ml
helm/DEVEL/ocaml-http/http_misc.mli
helm/DEVEL/ocaml-http/http_parser.ml
helm/DEVEL/ocaml-http/http_parser.mli
helm/DEVEL/ocaml-http/http_parser_sanity.ml
helm/DEVEL/ocaml-http/http_parser_sanity.mli
helm/DEVEL/ocaml-http/http_request.ml
helm/DEVEL/ocaml-http/http_request.mli
helm/DEVEL/ocaml-http/http_response.ml
helm/DEVEL/ocaml-http/http_response.mli
helm/DEVEL/ocaml-http/http_tcp_server.ml
helm/DEVEL/ocaml-http/http_tcp_server.mli
helm/DEVEL/ocaml-http/http_threaded_tcp_server.mli
helm/DEVEL/ocaml-http/http_types.ml
helm/DEVEL/ocaml-http/http_types.mli
helm/DEVEL/ocaml-http/http_user_agent.ml
helm/DEVEL/ocaml-http/http_user_agent.mli

index c98cdb44a210d256554d3d171a049a992e423ef8..dc1a772e1dfa7592a5ca60c3dbf25700b92d034b 100644 (file)
@@ -1,16 +1,16 @@
 
 In order to build ocaml-http you will need:
 
-  - the ocaml compiler (>= 3.06)
+  - the ocaml compiler
     [ http://caml.inria.fr ]
 
-  - findlib (>= 0.8)
+  - findlib
     [ http://www.ocaml-programming.de/packages/documentation/findlib/ ]
 
-  - ocamlnet (>= 0.94)
+  - ocamlnet
     [ http://sourceforge.net/projects/ocamlnet ]
 
-  - pcre-ocaml (>= 4.28.2)
+  - pcre-ocaml
     [ http://www.ai.univie.ac.at/~markus/home/ocaml_sources.html ]
 
 To build the bytecode library:
index 3930ea14eb6b8a304bd757783e38450cbe4119c6..62a60671948d69c731afa3b015508c8fdc6e815e 100644 (file)
@@ -29,10 +29,16 @@ opt_non_mt: http.cmxa
 all_mt: http_mt.cma
 opt_mt: http_mt.cmxa
 world: all opt
-doc: $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.tex $(OCAMLDOC_STUFF)
+doc: all $(DOCDIR)/index.html $(DOTDIR)/ocaml-http.ps $(TEXDIR)/ocaml-http.ps $(OCAMLDOC_STUFF)
+$(DOCDIR)/index.html:
        $(OCAMLDOC) -html -d $(DOCDIR) $(OCAMLDOC_STUFF)
 $(TEXDIR)/ocaml-http.tex: $(OCAMLDOC_STUFF)
        $(OCAMLDOC) -latex -o $@ $^
+$(TEXDIR)/ocaml-http.ps: $(TEXDIR)/ocaml-http.tex
+       cd $(TEXDIR);           \
+       latex ocaml-http;       \
+       latex ocaml-http;       \
+       dvips ocaml-http
 $(DOTDIR)/ocaml-http.ps: $(DOTDIR)/ocaml-http.dot
        $(DOT) -Tps $< > $@
 $(DOTDIR)/ocaml-http.dot: *.ml *.mli
@@ -89,17 +95,21 @@ clean:
        done
        rm -f {mt,non_mt}/$(THREADED_SRV).mli
 docclean:
-       rm -f   \
+       -rm -f  \
                $(DOCDIR)/*.html $(DOCDIR)/*.css        \
                $(DOTDIR)/*.dot $(DOTDIR)/*.ps  \
-               $(TEXDIR)/*.tex
+               $(TEXDIR)/*.{dvi,ps,ps.gz,pdf,aux,log,out,toc,tmp,haux,sty,tex}
 distclean: clean
        $(MAKE) -C examples/ distclean
        rm -f META
 dist: distreal distrm
-distreal: distclean depend
+distdoc: all doc
        if [ -d $(DISTDIR) ]; then rm -rf $(DISTDIR); else true; fi
-       mkdir $(DISTDIR)
+       mkdir -p $(DISTDIR)/doc/
+       cp -r doc/html/ $(DISTDIR)/doc/
+       cp doc/dot/ocaml-http.ps $(DISTDIR)/doc/modules.ps
+       cp doc/latex/ocaml-http.ps $(DISTDIR)/doc/
+distreal: distdoc distclean depend
        for f in        \
                        $(patsubst %, %.ml, $(MODULES)) \
                        $(patsubst %, %.mli, $(MODULES) $(THREADED_SRV))        \
index a8dfd5fe2efdf948ea4c41978e2a24f61934e544..7f480723520f0dd734bbd632b51836b597e280d3 100644 (file)
@@ -2,15 +2,15 @@ PKGNAME = http
 DISTVERSION = $(shell dpkg-parsechangelog | egrep '^Version: ' | sed 's/^Version: //')
 
 DEBUG_FLAGS =
-REQUIRES = unix pcre netstring
+REQUIRES = unix str pcre netstring
 COMMON_FLAGS = $(DEBUG_FLAGS) -pp camlp4o -package "$(REQUIRES)"
 THREADS_FLAGS = -package threads -thread
 OCAMLFIND = ocamlfind
 OCAMLC = $(OCAMLFIND) ocamlc $(COMMON_FLAGS)
 OCAMLOPT = $(OCAMLFIND) ocamlopt $(COMMON_FLAGS)
 OCAMLDEP = $(OCAMLFIND) ocamldep $(COMMON_FLAGS)
-OCAMLDOC :=    \
-       ocamldoc        \
+OCAMLDOC :=                                                    \
+       ocamldoc -stars                                         \
                $(shell $(OCAMLFIND) query -i-format unix)      \
                $(shell $(OCAMLFIND) query -i-format pcre)      \
                $(shell $(OCAMLFIND) query -i-format netstring)
@@ -20,5 +20,5 @@ DISTNAME = ocaml-http
 DISTDIR = $(DISTNAME)-$(DISTVERSION)
 EXTRA_DIST =   \
        INSTALL LICENSE README META.in Makefile Makefile.defs   \
-       .depend doc
+       .depend
 
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7fc3c6bb6e2b2252130d440795f730e78d59d5d4 100644 (file)
@@ -0,0 +1 @@
+- support for HTTPS
index 9155e95ebc99112c3ab28141228d199440b419ed..affbdb23a7eb839fd29ef92e174726c12474106d 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Http_types;;
index f99dd722498dc42bec4e67edb2ae5c83927fd39e..6029a7031cfd15e701df68846512a514779ed41b 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Common functionalities shared by other OCaml HTTP modules *)
@@ -30,10 +30,10 @@ val debug: bool ref
   (** print a string on stderr only if debugging is enabled *)
 val debug_print: string -> unit
 
-  (** see {! Http_constants.version} *)
+  (** see {!Http_constants.version} *)
 val http_version: version
 
-  (** see {! Http_constants.server_string} *)
+  (** see {!Http_constants.server_string} *)
 val server_string: string
 
   (** pretty print an HTTP version *)
index 3e61e0b61ed736a81e1ae60704b28436bb9c0e9a..fa9f49536c8e0b6ed47d1b40213ddcaf56c59fb0 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 let version = `HTTP_1_1 ;;
index bf7072a1a1f62994a9eee0afca86cf7f0c3b7768..46db79067c1a4f2cf653576ecb9406ff922f8de9 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Constants *)
index 1bbf83b20760080395bf73128fcbc0be31090797..caa51af13bf2c41e06485ebc0341f4e2d7dd25a0 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Printf
@@ -209,11 +209,9 @@ let respond_file ~fname ?(version = http_version) outchan =
         close_in file
       end
     with
-    | Unix.Unix_error (Unix.EACCES, s, _) when (s = fname) ->
+    | Unix.Unix_error (Unix.EACCES, _, _)
+    | Sys_error _ ->
         respond_forbidden ~url:fname ~version outchan
-    | Sys_error s when
-        (Pcre.pmatch ~rex:(Pcre.regexp (fname ^ ": Permission denied")) s) ->
-          respond_forbidden ~url:fname ~version outchan
   end
 
 let respond_with (res: Http_types.response) outchan =
index 54b8c19d0d4a998c2275570c8d65635671bc2436..59a408d8755699e2ac3454a3654e245b7625a778 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Main OCaml HTTP module.
@@ -140,19 +140,22 @@ val daemon_spec:
 
   (** starts an HTTP daemon (deprecated function)
   *
-  * DEPRECATED, will be removed in future versions, please switch to
-  * Http_daemon.main below.
+  * @deprecated This function will be removed in future versions, please switch
+  * to Http_daemon.main below.
+  *
+  * see {!Http_types.daemon_spec} for a detailed description of parameters
   *
-  * see Http_types.daemon_spec for a detailed description of parameters
   * @param addr like the "address" field of Http_types.daemon_spec, defaults to
   *   the wildcard address "0.0.0.0"
-  * @param like the "port" field of Http_types.daemon_spec, defaults to 80
-  * @param like the "timeout" field of Http_types.daemon_spec, defaults to Some
-  *   300
-  * @param like the "mode" field of Http_types.daemon_spec, defaults to `Fork
-  * @param like the "root_dir" field of Http_types.daemon_spec, defaults to None
+  * @param port like the "port" field of Http_types.daemon_spec, defaults to 80
+  * @param timeout like the "timeout" field of Http_types.daemon_spec, defaults
+  *   to Some 300
+  * @param mode like the "mode" field of Http_types.daemon_spec, defaults to
+  *   `Fork
+  * @param root like the "root_dir" field of Http_types.daemon_spec, defaults to
+  *   None
   * @param callback functional version of the "callback" field of
-  *   Http_types.daemon_spec.  1st argument is the request path, 2nd argument
+  *   Http_types.daemon_spec. 1st argument is the request path, 2nd argument
   *   the decoded query string, 3rd argument an output channel connect to the
   *   client
   *)
@@ -164,11 +167,11 @@ val start:
 
   (** starts an HTTP daemon (deprecated function)
   *
-  * DEPRECATED, will be removed in future versions, please switch to
-  * Http_daemon.main below.
+  * @deprecated This function will be removed in future versions, please switch
+  *   to Http_daemon.main below.
   *
-  * parameters as above except for the callback, in this case it behaves as the
-  * "callback" field of Http_types.daemon_spec
+  * parameters as per {!Http_daemon.start} except for the callback, in this case
+  * it behaves as the "callback" field of Http_types.daemon_spec
   *)
 val start':
   ?addr: string -> ?port: int ->
@@ -177,17 +180,17 @@ val start':
     unit
 
   (** Object oriented interface to HTTP daemons.
-  @param addr address on which daemon will listen for connections
-  @param port port which daemon will bind
-  see {! Http_types.daemon} *)
+  @param addr address on which daemon will listen for connections
+  @param port port which daemon will bind
+  * see {!Http_types.daemon} *)
 class daemon:
   ?addr: string -> ?port: int ->
     unit ->
       Http_types.daemon
 
   (** Trivial static pages HTTP daemon.
-  Daemons created using this module will serve directory indexes and files found
-  starting from the working directory *)
+  * Daemons created using this module will serve directory indexes and files
+  * found starting from the working directory *)
 module Trivial :
   sig
       (** callback function, exposed if you like to use it as a basis to define
index 56a9e8dc7b6a0c824ec90b690d1f73caa0158e44..5dc0f04723fd376a8228a7e72075dfc94ac950a7 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Http_common;;
index 6c78c0c0ed13a4bb7569affff0666d7d5f57a438..0a30b3eece567e289f202c00e9189baae6c275f1 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Object Oriented representation of HTTP messages *)
index c4c9cfea97b457322a45483e07fa38df6b4b42cd..abe6702c2a0aedb11541ffd09b672248a633083f 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Printf
index 914b4ecffc46adf1a622259a46a77dec3318e9ce..b6e28e2bcbdc3a3782dfe5d73481dc3ff1d9906a 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Helpers and other not better classified functions which should not be
index 1660da3fe49e7aa1e90eef34cf515dc1c5ed4f21..ca17f02f7b5fd10a0f17e330f55487f40b1d52fe 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Printf;;
index a49a8fe892faa599d942f5654e42895f503fe9a3..58e616bd7aea1a7fe04b65374bc5fcacfad498db 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** HTTP messages parsing *)
index ef7555c7bb234a1002fad6e8c4cd84bff80e61c9..7fe08cf9344fd7f3d8fa598782c8eaa7fe64fa40 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Printf
index f8dd220df15198c2f9fb3e3792d215b4c9530132..a869f182fd333cbe591a13854b3ace1f0b30d515 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Sanity test functions related to HTTP message parsing *)
index c2f2a9f483317418cd283f02c9298c105b97da5b..664256548f047aa692e408bf680768cd7c04f2e9 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Printf;;
index 9127032bd2e4294a1dbabf7ca5ffc252acd78a3a..23da0cc9b783021c4a041c3bf96e761637ce7596 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Object Oriented representation of HTTP requests *)
index 6b23519994426d3d053603fc3d52c97a7721176d..58308d30700ed217f3482727c1d6a46ef32cb180 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Http_types;;
index d1baa5e9e4bc39753a23ed5109ee8c8801a45d3f..694eb22c0f06cffc90cdd4e4d1013c1ac913e6f8 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Object Oriented representation of HTTP responses *)
index a4aaf924771177c147cd13e289d5a644b45725b0..cbe01add1f9d10ec37c9f8d2eda334b937b26083 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 
@@ -80,7 +80,7 @@ let my_establish_server server_fun sockaddr =
   let suck = init_socket sockaddr in
   while true do
     let (s, caller) = nice_unix_accept suck in
-      (* "double fork" trick, see Unix.establish_server implementation *)
+      (** "double fork" trick, see {!Unix.establish_server} implementation *)
     match Unix.fork() with
     | 0 ->  (* parent *)
         (try
index 6aaad3cbfa5264e8daa554cc8a0d334a60c28046..e94f84f95a9a585fee284bad8315bacc1bb2e9e8 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** TCP servers used as low-levels for HTTP daemons *)
index fecdea50c3366df53e628ecd000332e88ddc5e07..6504f7e01a115278be9cb908ca84f93a1f2cbc86 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Multithreaded part of Http_tcp_server *)
index eb919389ad746f95dd353b175b61aabff5cadbe6..bc2efb4131a5d6b8a0aecfe08ddccc5fed73468f 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Type definitions *)
index 476ca50185c04962631ddf9ed1b67ab5400c1c95..eeedd2cf8e0c1ee05012ca9a37e67183423771c6 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Type definitions *)
@@ -60,13 +60,13 @@ type auth_info =
 (*   | `Digest of ...  (* TODO digest authentication *) *)
   ]
 
-  (** informational HTTP status, see RFC2616 *)
+  (** @see "RFC2616" informational HTTP status *)
 type informational_substatus =
   [ `Continue
   | `Switching_protocols
   ]
 
-  (** success HTTP status, see RFC2616 *)
+  (** @see "RFC2616" success HTTP status *)
 type success_substatus =
   [ `OK
   | `Created
@@ -77,7 +77,7 @@ type success_substatus =
   | `Partial_content
   ]
 
-  (** redirection HTTP status, see RFC2616 *)
+  (** @see "RFC2616" redirection HTTP status *)
 type redirection_substatus =
   [ `Multiple_choices
   | `Moved_permanently
@@ -88,7 +88,7 @@ type redirection_substatus =
   | `Temporary_redirect
   ]
 
-  (** client error HTTP status, see RFC2616 *)
+  (** @see "RFC2616" client error HTTP status *)
 type client_error_substatus =
   [ `Bad_request
   | `Unauthorized
@@ -110,7 +110,7 @@ type client_error_substatus =
   | `Expectation_failed
   ]
 
-  (** server error HTTP status, see RFC2616 *)
+  (** @see "RFC2616" server error HTTP status *)
 type server_error_substatus =
   [ `Internal_server_error
   | `Not_implemented
@@ -299,7 +299,7 @@ class type response = object
       (** set response code *)
     method setCode: int -> unit
 
-      (** @return response status, see {! Http_types.status} *)
+      (** @return response status *)
     method status: status
 
       (** set response status *)
@@ -336,7 +336,7 @@ class type response = object
       (** response is either a client error or a server error response *)
     method isError: bool
 
-      (** add basic headers to response, see {! Http_daemon.send_basic_headers}
+      (** add basic headers to response, see {!Http_daemon.send_basic_headers}
       *)
     method addBasicHeaders: unit
 
@@ -376,52 +376,49 @@ class type response = object
 
   (** {2 Daemon specification} *)
 
-  (** daemon specification, describe the behaviour of an HTTP daemon
-  * @param address adress on which daemon will be listening, can be both a
-  *   numeric address (e.g. "127.0.0.1") and an hostname (e.g. "localhost")
-  * @param auth authentication requirements (currently only basic authentication
-  *   is supported). If set to None no authentication is
-  *   required. If set to Some ("realm", `Basic ("foo", "bar")), only clients
-  *   authenticated with baisc authentication, for realm "realm", providing
-  *   username "foo" and password "bar" are accepted; others are rejected with a
-  *   401 response code
-  * @param callback function which will be called each time a correct HTTP
-  *   request will be received. 1st callback argument is an Http_types.request
-  *   object corresponding to the request received; 2nd argument is an output
-  *   channel corresponding to the socket connected to the client
-  * @param mode requests handling mode, it can have three different values:
-  *   `Single -> all requests will be handled by the same process,
-  *   `Fork   -> each request will be handled by a child process,
-  *   `Thread -> each request will be handled by a (new) thread
-  * @param port TCP port on which the daemon will be listening
-  * @param root_dir directory to which ocaml http will chdir before starting
-  *   handling requests; if None, no chdir will be performed (i.e. stay in the
-  *   current working directory)
-  * @param exn_handler what to do when executing callback raises an exception.
-  *   If None, the exception will be re-raised: in `Fork/`Thread mode the
-  *   current process/thread will be terminated. in `Single mode the exception
-  *   is ignored and the client socket closed. If Some callback, the callback
-  *   will be executed before acting as per None; the callback is meant to
-  *   perform some clean up actions, like releasing global mutexes in `Thread
-  *   mode
-  * @param timeout timeout in seconds after which an incoming HTTP request will
-  *   be terminated closing the corresponding TCP connection; None disable the
-  *   timeout
+  (** daemon specification, describe the behaviour of an HTTP daemon.
   *
-  * The default daemon specification is Http_daemon.default_spec
+  * The default daemon specification is {!Http_daemon.default_spec}
   *)
 type daemon_spec = {
   address: string;
+    (** @param address adress on which daemon will be listening, can be both a
+    * numeric address (e.g. "127.0.0.1") and an hostname (e.g. "localhost") *)
   auth: (string * auth_info) option;
+    (** authentication requirements (currently only basic authentication is
+    * supported). If set to None no authentication is required. If set to Some
+    * ("realm", `Basic ("foo", "bar")), only clients authenticated with baisc
+    * authentication, for realm "realm", providing username "foo" and password
+    * "bar" are accepted; others are rejected with a 401 response code *)
   callback: request -> out_channel -> unit;
+    (** function which will be called each time a correct HTTP request will be
+    * received. 1st callback argument is an Http_types.request object
+    * corresponding to the request received; 2nd argument is an output channel
+    * corresponding to the socket connected to the client *)
   mode: daemon_mode;
-  port: int;
+    (** requests handling mode, it can have three different values:
+    * - `Single -> all requests will be handled by the same process,
+    * - `Fork   -> each request will be handled by a child process,
+    * - `Thread -> each request will be handled by a (new) thread *)
+  port: int;  (** TCP port on which the daemon will be listening *)
   root_dir: string option;
+    (** directory to which ocaml http will chdir before starting handling
+    * requests; if None, no chdir will be performed (i.e. stay in the current
+    * working directory) *)
   exn_handler: (exn -> out_channel -> unit) option;
+    (** what to do when executing callback raises an exception.  If None, the
+    * exception will be re-raised: in `Fork/`Thread mode the current
+    * process/thread will be terminated. in `Single mode the exception is
+    * ignored and the client socket closed. If Some callback, the callback will
+    * be executed before acting as per None; the callback is meant to perform
+    * some clean up actions, like releasing global mutexes in `Thread mode *)
   timeout: int option;
+    (** timeout in seconds after which an incoming HTTP request will be
+    * terminated closing the corresponding TCP connection; None disable the
+    * timeout *)
 }
 
-  (** {2 OO representation of other HTTP "entities"} *)
+  (** {2 OO representation of other HTTP entities} *)
 
   (** an HTTP connection from a client to a server *)
 class type connection =
index ebc09804a692d9c86d924c3f695130f29845b9ce..f5317d6858626fc3aa29c58a8a2e948b755ec819 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 open Printf
index b3e91b3c006f5cb799742c2b7bb16dad8951e607..79f2d696ee3e99f1369bf1f4a3a5fa1865b52e66 100644 (file)
@@ -2,21 +2,21 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002-2004> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2005> Stefano Zacchiroli <zack@cs.unibo.it>
 
   This program is free software; you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  it under the terms of the GNU Library General Public License as
+  published by the Free Software Foundation, version 2.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  GNU Library General Public License for more details.
 
-  You should have received a copy of the GNU General Public License
-  along with this program; if not, write to the Free Software
-  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  You should have received a copy of the GNU Library General Public
+  License along with this program; if not, write to the Free Software
+  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+  USA
 *)
 
 (** Minimal implementation of an HTTP 1.0/1.1 client. Interface is similar to