~hyphen/gemini-server

a gemini server library for ocaml
~hyphen/gemini-server

New ticket tracker added

2 years ago
~hyphen/public-inbox

New mailing list added

2 years ago
(* Gemini-Server: Simplest possible server example *)

open Lwt.Syntax
open Gemsrv

let conf = {
  defconfig with
    workdir = "server";
    keypath = "certs/cert.key";
    crtpath = "certs/cert.crt";
}

let main () =
    let* server = init conf in
    let rec loop () =
        let* session, _ = recv server in
        let* request = read session in
        let  ans = handle request in
        let* res = write session ans in
            loop res
    in
    loop ()

let () = Lwt_main.run @@ main ()