Files
linuxkit/projects/miragesdk/examples/https-unikernel/src/http_main.ml
Thomas Leonard 86b4f01e17 Update https-unikernel to released capnp-rpc 0.1 API
Also, separate out RPC encoding from application logic.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2017-08-15 14:16:35 +01:00

26 lines
723 B
OCaml

(** Run the HTTP service as a stand-alone Unix process. *)
let () = Logging.init ()
let main store_addr http_addr =
Lwt_main.run begin
let store = Capnp_rpc_unix.connect store_addr in
let http = Http_server.local store in
Capnp_rpc_unix.serve ~offer:http http_addr
end
open Cmdliner
let store =
let doc = "The database store to use" in
Arg.(required @@ opt (some Capnp_rpc_unix.Connect_address.conv) None @@ info ~doc ~docv:"STORE" ["store"])
let http =
let doc = "The http socket to provide" in
Arg.(required @@ pos 0 (some Capnp_rpc_unix.Listen_address.conv) None @@ info ~doc ~docv:"HTTP" [])
let cmd =
Term.(const main $ store $ http), Term.info "http"
let () = Term.(exit @@ eval cmd)