blob: abe1839651da628c97d2eb072c79f2e79286d083 (
plain) (
tree)
|
|
open Base
open Base.Result
module M = Gemini.MimeTextGemini.MimeTextGemini
let test_parse s = M.gemini_to_canon_str (M.str_to_gemini s)
module T = Gemini.MimeType.MimeType
module R = Gemini.GeminiTransaction.GeminiTransaction(T)(Gemini.TlsUtils.TlsUtils)
let () =
Lwt_main.run begin
let%lwt () = Mirage_crypto_rng_lwt.initialize () in
let request : (R.request, string) Base.Result.t = R.make_request (Sys.get_argv()).(1) in
match request with
| Ok request ->
let w = Curses.initscr () in
let () = Curses.wclear w in
(match%lwt R.session request with
| Ok r ->
let _ = Curses.mvwaddstr w 0 0 ("STATUS: " ^ (R.name_of_response r)) in
let _ = Curses.mvwaddstr w 1 0 ("STATUS LINE: " ^ (R.header_of_response r)) in
let _ = match r with
| SUCCESS (_, c) | SUCCESS_EOCSS (_, c) -> Curses.mvwaddstr w 2 0 c
| _ -> false in
let _ = Curses.refresh () in
let _ = Curses.getch () in
let _ = Curses.endwin () in
Lwt.return ()
| Error m ->
let _ = Curses.refresh () in
let _ = Curses.endwin () in
Lwt_io.printl m)
| Error m -> Lwt_io.printl m
end
|