-(* 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