diff options
author | Mateus Cruz <mateuscolvr@gmail.com> | 2024-02-05 00:14:45 -0300 |
---|---|---|
committer | Mateus Cruz <mateuscolvr@gmail.com> | 2024-02-05 00:42:06 -0300 |
commit | f0142aa1c3b4d7c2fd0b70c9e62c1ec033e445c2 (patch) | |
tree | 7f979459a60365f16197889d2ec660847141d42a /bin/main.ml | |
parent | f3ac99a84497868aded8ee7ec2822d1b12960fd7 (diff) |
add basic route handling
Diffstat (limited to 'bin/main.ml')
-rw-r--r-- | bin/main.ml | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/bin/main.ml b/bin/main.ml index 7bf6048..7e537a7 100644 --- a/bin/main.ml +++ b/bin/main.ml @@ -1 +1,26 @@ -let () = print_endline "Hello, World!" +[@@@warning "-26-27-32"] + +open! StdLabels +open Eio +open Piaf + +let request_handler Server.{ request; _ } = + match Rinha.Router.match_route request.meth request.target with + | Some handler -> handler request + | None -> Response.create `Not_found +;; + +let () = + Eio_main.run + @@ fun env -> + Switch.run + @@ fun sw -> + let config = + let interface = Net.Ipaddr.V4.any in + let port = 3000 in + `Tcp (interface, port) + in + let config = Server.Config.create config in + let server = Server.create ~config request_handler in + ignore @@ Server.Command.start ~sw env server +;; |