20 lines
595 B
OCaml
20 lines
595 B
OCaml
open Async
|
|
|
|
let main parser () =
|
|
let toss _ = Deferred.unit in
|
|
let reader = Lazy.force Reader.stdin in
|
|
let parser =
|
|
match parser with
|
|
| `Http -> Angstrom.(RFC2616.request >>| fun x -> `Http x)
|
|
| `Json -> Angstrom.(RFC7159.json >>| fun x -> `Json x)
|
|
in
|
|
Angstrom_async.parse_many parser toss reader
|
|
>>| function
|
|
| Ok () -> ()
|
|
| Error err -> failwith err
|
|
;;
|
|
|
|
let () =
|
|
let parser = Command.Arg_type.of_alist_exn ["http", `Http; "json", `Json] in
|
|
Command.(async_spec ~summary:"async benchmark"
|
|
Spec.(empty +> Param.(anon ("PARSER" %: parser))) main |> run)
|