X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Focaml-http%2Fexamples%2Fdamned_recursion.ml;h=be2e3062983331e92cdf28640d392b16ea816c4f;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=bf2cf31ada3faef48ae61a0d6089cecb3fc12180;hpb=0b2ad37310ed22a0e1454190e884ac531d51ad27;p=helm.git diff --git a/helm/DEVEL/ocaml-http/examples/damned_recursion.ml b/helm/DEVEL/ocaml-http/examples/damned_recursion.ml index bf2cf31ad..be2e30629 100644 --- a/helm/DEVEL/ocaml-http/examples/damned_recursion.ml +++ b/helm/DEVEL/ocaml-http/examples/damned_recursion.ml @@ -22,21 +22,28 @@ open Printf open Http_types +let port = 9999 + let callback (req: Http_types.request) outchan = let i = int_of_string (req#param "x") in - match i with - | 0 -> output_string outchan "1" - | x when x > 0 -> - let data = - Http_user_agent.get (sprintf "http://127.0.0.1/foo?x=%d" (x - 1)) - in - output_string outchan (sprintf "%s %d" data x) - | _ -> assert false + let body = + match i with + | 0 -> "0" + | x when x > 0 -> + let data = + Http_user_agent.get (sprintf "http://127.0.0.1:%d/foo?x=%d" + port (x - 1)) + in + sprintf "%s %d" data x + | _ -> assert false + in + Http_daemon.respond ~code:(`Code 200) ~body outchan; + close_out outchan (* Http_user_agent relies on EOF, not Content-Length *) let spec = { Http_daemon.default_spec with callback = callback; - port = 9999; + port = port; mode = `Thread; }