diff --git a/echo.sh b/echo.sh index a7d0acd1..c97ce729 100755 --- a/echo.sh +++ b/echo.sh @@ -1,2 +1,2 @@ #!/bin/sh -exec dune exec "src/examples/echo.exe" -- $@ +exec dune exec "examples/echo.exe" -- $@ diff --git a/examples/dune b/examples/dune index f623f8d0..83b0aa84 100644 --- a/examples/dune +++ b/examples/dune @@ -9,6 +9,12 @@ (modules sse_client) (libraries unix)) +(executable + (name echo) + (flags :standard -warn-error -a+8) + (modules echo) + (libraries tiny_httpd tiny_httpd_camlzip)) + (rule (targets test_output.txt) (deps (:script ./run_test.sh) ./sse_client.exe ./sse_server.exe) diff --git a/src/examples/echo.ml b/examples/echo.ml similarity index 100% rename from src/examples/echo.ml rename to examples/echo.ml diff --git a/examples/sse_server.ml b/examples/sse_server.ml index cf30c95e..fb1ede07 100644 --- a/examples/sse_server.ml +++ b/examples/sse_server.ml @@ -44,6 +44,14 @@ let () = Unix.sleepf 0.1; done; ); + S.add_route_server_sent_handler server S.Route.(exact "count" @/ int @/ return) + (fun n _req (module EV : S.SERVER_SENT_GENERATOR) -> + for i=0 to n do + EV.send_event ~data:(string_of_int i) (); + Unix.sleepf 0.1; + done; + EV.close(); + ); Printf.printf "listening on http://localhost:%d/\n%!" (S.port server); match S.run server with diff --git a/src/examples/dune b/src/examples/dune deleted file mode 100644 index 409ea47e..00000000 --- a/src/examples/dune +++ /dev/null @@ -1,5 +0,0 @@ - -(executables - (names echo) - (flags :standard -warn-error -a+8) - (libraries tiny_httpd tiny_httpd_camlzip))