X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Focaml-http%2Fexamples%2Fhighlander.ml;h=d42445481a84ff7220bac0ffbdacff32c3ce4379;hb=97c2d258a5c524eb5c4b85208899d80751a2c82f;hp=24a4abd84d9d01e211dc3b1689eff213cd48c2f7;hpb=2228717a5f41aab3b157713e40753016ad46c2ae;p=helm.git diff --git a/helm/DEVEL/ocaml-http/examples/highlander.ml b/helm/DEVEL/ocaml-http/examples/highlander.ml index 24a4abd84..d42445481 100644 --- a/helm/DEVEL/ocaml-http/examples/highlander.ml +++ b/helm/DEVEL/ocaml-http/examples/highlander.ml @@ -19,36 +19,23 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) -(* almost the same as dump_args.ml, but used to test fast rebinding of the same -port *) - -open Printf;; - -let callback req outchan = - Http_daemon.send_basic_headers ~code:(`Code 200) outchan; - Http_daemon.send_CRLF outchan; - let str = - (sprintf "request path = %s\n" req#path) ^ - (sprintf "request GET params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_GET))) ^ - (sprintf "request POST params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params_POST))) ^ - (sprintf "request ALL params = %s\n" - (String.concat ";" - (List.map (fun (h,v) -> String.concat "=" [h;v]) req#params))) ^ - (sprintf "request BODY = '%s'\n" req#body) - in - output_string outchan str; - prerr_endline str -in -print_endline "Starting custom Http_daemon ..."; -flush stdout; -(* Sys.catch_break true; *) -while true do -(* try *) - Http_daemon.start' ~mode:`Single ~port:9999 callback -(* with Sys.Break -> prerr_endline "RESURRECTION!!!!" *) -done +(* test for fast rebinding of the tcp port *) + +open Printf +open Http_types + +let spec = + { Http_daemon.default_spec with + callback = (fun _ outchan -> Http_daemon.respond ~body:"foo" outchan); + port = 9999; + mode = `Single; + } + +let _ = + Sys.catch_break true; + while true do + try + Http_daemon.main spec; + with Sys.Break -> prerr_endline "RESURRECTION!!!!" + done