diff --git a/backends/twitter/Requests/ProfileImageRequest.cpp b/backends/twitter/Requests/ProfileImageRequest.cpp index aee8614b577a087aaa940447fd2b45331e8b3c04..5af984f654cfe9daab0810342fb700ee5c28ef01 100644 --- a/backends/twitter/Requests/ProfileImageRequest.cpp +++ b/backends/twitter/Requests/ProfileImageRequest.cpp @@ -1,50 +1,13 @@ #include "ProfileImageRequest.h" +#include "../HTTPRequest.h" DEFINE_LOGGER(logger, "ProfileImageRequest") - -int ProfileImageRequest::curlCallback(char* data, size_t size, size_t nmemb, ProfileImageRequest* obj) -{ - int writtenSize = 0; - if(obj && data) { - obj->callbackdata.append(data, size*nmemb); - writtenSize = (int)(size*nmemb); - } - return writtenSize; -} - -bool ProfileImageRequest::fetchImage() -{ - LOG4CXX_INFO(logger, user << " - Fetching profile image"); - - curl_easy_setopt(curlhandle, CURLOPT_CUSTOMREQUEST, NULL); - curl_easy_setopt(curlhandle, CURLOPT_ENCODING, ""); - - img = ""; - callbackdata = ""; - memset(curl_errorbuffer, 0, 1024); - - curl_easy_setopt(curlhandle, CURLOPT_ERRORBUFFER, curl_errorbuffer); - curl_easy_setopt(curlhandle, CURLOPT_WRITEFUNCTION, curlCallback); - curl_easy_setopt(curlhandle, CURLOPT_WRITEDATA, this); - - /* Set http request and url */ - curl_easy_setopt(curlhandle, CURLOPT_HTTPGET, 1); - curl_easy_setopt(curlhandle, CURLOPT_VERBOSE, 1); - curl_easy_setopt(curlhandle, CURLOPT_URL, url.c_str()); - - /* Send http request and return status*/ - return (CURLE_OK == curl_easy_perform(curlhandle)); -} - - void ProfileImageRequest::run() { - if(curlhandle == NULL) { - error = "Failed to init CURL!"; - success = false; - return; - } - success = fetchImage(); - if(!success) error.assign(curl_errorbuffer); + HTTPRequest req; + req.init(); + req.setProxy(ip, port, puser, ppasswd); + success = req.GET(url, callbackdata); + if(!success) error.assign(req.getCurlError()); } void ProfileImageRequest::finalize() @@ -54,8 +17,6 @@ void ProfileImageRequest::finalize() img = ""; callBack(user, buddy, img, reqID, error); } else { - //std::string error = getErrorMessage(replyMsg); - //if(error.length()) LOG4CXX_ERROR(logger, user << " - " << error) LOG4CXX_INFO(logger, user << " - " << callbackdata); img = callbackdata; callBack(user, buddy, img, reqID, error);