diff options
Diffstat (limited to 'src/libpiano')
-rw-r--r-- | src/libpiano/request.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/libpiano/request.c b/src/libpiano/request.c index 6d0c8e5..cad0907 100644 --- a/src/libpiano/request.c +++ b/src/libpiano/request.c @@ -26,12 +26,11 @@ THE SOFTWARE. #define _DARWIN_C_SOURCE /* strdup() on OS X */ #endif +#include <curl/curl.h> #include <json.h> #include <assert.h> #include <stdio.h> #include <string.h> -/* needed for urlencode */ -#include <waitress.h> #include "piano.h" #include "crypt.h" @@ -100,13 +99,16 @@ PianoReturn_t PianoRequest (PianoHandle_t *ph, PianoRequest_t *req, json_object_object_add (j, "syncTime", json_object_new_int (timestamp)); - urlencAuthToken = WaitressUrlEncode (ph->partner.authToken); + CURL * const curl = curl_easy_init (); + urlencAuthToken = curl_easy_escape (curl, + ph->partner.authToken, 0); assert (urlencAuthToken != NULL); snprintf (req->urlPath, sizeof (req->urlPath), PIANO_RPC_PATH "method=auth.userLogin&" "auth_token=%s&partner_id=%i", urlencAuthToken, ph->partner.id); - free (urlencAuthToken); + curl_free (urlencAuthToken); + curl_easy_cleanup (curl); break; } @@ -432,14 +434,17 @@ PianoReturn_t PianoRequest (PianoHandle_t *ph, PianoRequest_t *req, assert (ph->user.authToken != NULL); - urlencAuthToken = WaitressUrlEncode (ph->user.authToken); + CURL * const curl = curl_easy_init (); + urlencAuthToken = curl_easy_escape (curl, + ph->user.authToken, 0); assert (urlencAuthToken != NULL); snprintf (req->urlPath, sizeof (req->urlPath), PIANO_RPC_PATH "method=%s&auth_token=%s&partner_id=%i&user_id=%s", method, urlencAuthToken, ph->partner.id, ph->user.listenerId); - free (urlencAuthToken); + curl_free (urlencAuthToken); + curl_easy_cleanup (curl); json_object_object_add (j, "userAuthToken", json_object_new_string (ph->user.authToken)); |