Ich versuche, das OCaml cohttp-Paket zu verwenden, um eine POST-Anforderung mithilfe der Client.post-Methode zu senden. Ich schaute auf das Beispiel in ocaml-cohttp/lib_test/test_net_lwt_client_and_server.ml, um die Methode zu verwenden, hier ist ein Codeausschnitt aus dem Beispiel, das die Funktion verwendet.Verwenden von OCaml cohttp Client.post-Methode
Client.post ~body:(Cohttp_lwt_body.of_string "barfoo") url
Ich verwende die Funktion genau die gleiche Art und Weise in meinem eigenen Code:
Client.post ~body:(Cohttp_lwt_body.of_string bodyString) (Uri.of_string stringURI) >>= function
| Some (_, body) -> Cohttp_lwt_body.string_of_body body
| None -> return ""
Aber ich bekomme die Fehlermeldung:
Error: This pattern matches values of type 'a option
but a pattern was expected which matches values of type
Cohttp.Response.t * Cohttp_lwt_body.t
ich https://github.com/mirage/ocaml-cohttp/issues/64 sah die schlug vor, das ~body
Etikett zu ?body
zu ändern, aber dann bekam ich einen anderen Fehler:
Error: This expression has type Cohttp_lwt_body.t
but an expression was expected of type Cohttp_lwt_body.t option
Könnte jemand bitte erklären, wie man diese Funktion richtig benutzt?