X-Git-Url: https://git.wpitchoune.net/gitweb/?p=prss.git;a=blobdiff_plain;f=src%2Fhttp.c;h=a9cf301726b5b7d7a4207280a893532182b0cd30;hp=e663b8615f57f8007fc725bd24f3bbbd007bab2c;hb=f44145caeb28320e1eb239fa04ff5da5ee89cafd;hpb=4c8273864b951d26b002c8f2ec6e92a9a13799b6 diff --git a/src/http.c b/src/http.c index e663b86..a9cf301 100644 --- a/src/http.c +++ b/src/http.c @@ -28,6 +28,8 @@ #include "http.h" +static int debug = 1; + struct ucontent { char *data; size_t len; @@ -54,7 +56,8 @@ static size_t cbk_curl(void *buffer, size_t size, size_t nmemb, void *userp) void http_init() { - curl = curl_easy_init(); + if (!curl) + curl = curl_easy_init(); } void http_cleanup() @@ -74,7 +77,7 @@ char *http_get(const char *url, const char *content) if (content) { curl_easy_setopt(curl, CURLOPT_POSTFIELDS, content); curl_easy_setopt(curl, - CURLOPT_POSTFIELDSIZE, + CURLOPT_POSTFIELDSIZE, (long)strlen(content)); } curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cbk_curl); @@ -97,9 +100,15 @@ json_object *http_json_get(const char *url, struct json_object *j) in = json_object_to_json_string(j); out = http_get(url, in); - + + if (debug) + printf("HTTP request= %s\n", + json_object_to_json_string(j)); + if (out) { result = json_tokener_parse(out); + if (debug) + printf("HTTP reply= %s\n", out); free(out); return result; }