From: Alexandre Terrasa Date: Wed, 20 Sep 2017 21:43:05 +0000 (-0400) Subject: lib/curl: allow raw body string in CurlHTTPRequest X-Git-Url: http://nitlanguage.org lib/curl: allow raw body string in CurlHTTPRequest So we can send something else than POST formatted data. Signed-off-by: Alexandre Terrasa --- diff --git a/lib/curl/curl.nit b/lib/curl/curl.nit index 6ae0b9a..0e49515 100644 --- a/lib/curl/curl.nit +++ b/lib/curl/curl.nit @@ -100,6 +100,13 @@ class CurlHTTPRequest # Data for the body of a POST request var data: nullable HeaderMap is writable + # Raw body string + # + # Set this value to send raw data instead of the POST formatted `data`. + # + # If `data` is set, the body will not be sent. + var body: nullable String is writable + # Header content of the request var headers: nullable HeaderMap is writable @@ -156,6 +163,9 @@ class CurlHTTPRequest var postdatas = data.to_url_encoded(self.curl) err = self.curl.native.easy_setopt(new CURLOption.postfields, postdatas) if not err.is_ok then return answer_failure(err.to_i, err.to_s) + else if body != null then + err = self.curl.native.easy_setopt(new CURLOption.postfields, body.as(not null)) + if not err.is_ok then return answer_failure(err.to_i, err.to_s) end var err_resp = perform