aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Dessaux2019-08-04 11:33:58 +0200
committerJulien Dessaux2019-08-05 13:28:55 +0200
commit2d542a79796fb4568871c4a634ce4d3b311ffd9d (patch)
treed62ebaf77d35308df420e930de07389810b2abc4
parentAdded http lib and basic restapi with rocket_close_im binary (diff)
downloadrocket-cli-client-2d542a79796fb4568871c4a634ce4d3b311ffd9d.tar.gz
rocket-cli-client-2d542a79796fb4568871c4a634ce4d3b311ffd9d.tar.bz2
rocket-cli-client-2d542a79796fb4568871c4a634ce4d3b311ffd9d.zip
Fixed curl call orders
-rw-r--r--common/http.c9
-rw-r--r--restapi/auth.c1
-rw-r--r--restapi/im.c1
3 files changed, 7 insertions, 4 deletions
diff --git a/common/http.c b/common/http.c
index 275a18f..88e15cd 100644
--- a/common/http.c
+++ b/common/http.c
@@ -53,6 +53,9 @@ void http_clean(void)
const char * http_get(const char* path)
{
+ curl_easy_reset(curl);
+ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &writeCallback);
+
curl_easy_setopt(curl, CURLOPT_POST, 0);
return http_perform(path, NULL);
}
@@ -80,9 +83,6 @@ const char * http_perform(const char* path, const char* postfields)
buffer_fill = 0;
}
- curl_easy_reset(curl);
- curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &writeCallback);
-
const char * weburl = config_get_web_url();
size_t weburl_len = strlen(weburl);
size_t path_len = strlen(path);
@@ -106,6 +106,9 @@ const char * http_perform(const char* path, const char* postfields)
const char * http_post(const char* path, const char* postfields)
{
+ curl_easy_reset(curl);
+ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &writeCallback);
+
if (postfields == NULL)
curl_easy_setopt(curl, CURLOPT_POST, 1);
return http_perform(path, postfields);
diff --git a/restapi/auth.c b/restapi/auth.c
index e3f1b74..ad13798 100644
--- a/restapi/auth.c
+++ b/restapi/auth.c
@@ -60,6 +60,7 @@ restapi_login(const char* username, const char* password)
printf("userid: %s\nauthtoken: %s\n", userId->valuestring, authToken->valuestring);
http_add_header("X-User-Id", userId->valuestring);
http_add_header("X-Auth-Token", authToken->valuestring);
+ http_add_header("Content-type", "application/json");
} else {
const cJSON* msg = cJSON_GetObjectItemCaseSensitive(json, "message");
if (cJSON_IsString(msg) && msg->valuestring != NULL)
diff --git a/restapi/im.c b/restapi/im.c
index 6b9f75c..0c49cb0 100644
--- a/restapi/im.c
+++ b/restapi/im.c
@@ -22,7 +22,6 @@ restapi_im_close(const char* username)
strcpy(login_args, LOGIN_ARG_PRE);
strcpy(login_args + pre_len, username);
strcpy(login_args + pre_len + user_len, LOGIN_ARG_POST);
- http_add_header("Content-type", "application/json");
const char* buffer = http_post("/api/v1/im.close", login_args);
free(login_args);