X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Focaml-http%2Fexamples%2Fdump_args.ml;h=8e0d5dc67858909e311310a5a8ab39295083f18c;hb=89262281b6e83bd2321150f81f1a0583645eb0c8;hp=6f3f60bbb30418e457938d0cb65af665dbbd708e;hpb=6a8da4dd52033adfe80533f7467439aec1561147;p=helm.git diff --git a/helm/DEVEL/ocaml-http/examples/dump_args.ml b/helm/DEVEL/ocaml-http/examples/dump_args.ml index 6f3f60bbb..8e0d5dc67 100644 --- a/helm/DEVEL/ocaml-http/examples/dump_args.ml +++ b/helm/DEVEL/ocaml-http/examples/dump_args.ml @@ -19,31 +19,28 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *) -let dump_args path args = - Printf.sprintf - "PATH: %s\nARGS:\n%s" - path - (String.concat - "" - (List.map - (fun (name, value) -> "\tNAME: " ^ name ^ ", VALUE: " ^ value ^ "\n") - args)) -in -let callback path args outchan = - match path with - | "/gone" -> - Http_daemon.respond_redirect - ~location:"/foo" ~body:"REDIRECT" ~code:302 outchan - | "/error" -> - Http_daemon.respond_error ~body:"ERROR" ~code:500 outchan - | _ -> - begin - Http_daemon.send_basic_headers ~code:200 outchan; - Http_daemon.send_CRLF outchan; - output_string outchan (dump_args path args) - end +open Printf;; + +let callback req outchan = + Http_daemon.send_basic_headers ~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; -Http_daemon.start ~addr:"127.0.0.1" ~port:9999 callback +Http_daemon.start' ~port:9999 callback