]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/ocaml-http/examples/webfsd.ml
ocaml 3.09 transition
[helm.git] / helm / DEVEL / ocaml-http / examples / webfsd.ml
index 6babe3dde4abf2cc80bf46b9bd986111c5d6c01f..c7a984b034ff4d269780e62e29a41130b95ce100 100644 (file)
@@ -2,7 +2,7 @@
 (*
   OCaml HTTP - do it yourself (fully OCaml) HTTP daemon
 
-  Copyright (C) <2002> Stefano Zacchiroli <zack@cs.unibo.it>
+  Copyright (C) <2002-2004> 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
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *)
 
-let def_port = 80 in
-let def_addr = "0.0.0.0" in
-let def_root = Sys.getcwd () in
+open Http_types
 
-let port = ref def_port in
-let addr = ref def_addr in
-let root = ref def_root in
+let def_port = 80
+let def_addr = "0.0.0.0"
+let def_root = Sys.getcwd ()
+
+let port = ref def_port
+let addr = ref def_addr
+let root = ref def_root
 let argspec =
   [ "-p", Arg.Int (fun p -> port := p),
       "TCP port on which listen, default: " ^ string_of_int !port;
     "-a", Arg.String (fun a -> addr := a),
       "IP address on which listen, default: " ^ !addr;
     "-r", Arg.String (fun r -> root := r),
-      "DocumentRoot, default: current working directory" ]
-in
-Arg.parse argspec (fun _ -> ()) "";
-Sys.chdir !root;
-Http_daemon.Trivial.start ~addr:!addr ~port:!port ()
+      "DocumentRoot, default: current working directory";
+  ]
+
+let _ =
+  Arg.parse argspec (fun _ -> ()) "";
+  let spec =
+    { Http_daemon.default_spec with
+        address = !addr;
+        port = !port;
+        root_dir = Some !root
+    }
+  in
+  Http_daemon.Trivial.main spec