diff --git a/backends/twitter/Requests/CreateFriendRequest.cpp b/backends/twitter/Requests/CreateFriendRequest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..eae88fe7e0e85dc558c95c9d76fe68f3ce9757a3 --- /dev/null +++ b/backends/twitter/Requests/CreateFriendRequest.cpp @@ -0,0 +1,49 @@ +#include "CreateFriendRequest.h" +#include "../HTTPRequest.h" +DEFINE_LOGGER(logger, "CreateFriendRequest") + +void CreateFriendRequest::run() +{ + LOG4CXX_INFO(logger, user << " - Sending follow request for " << frnd) + replyMsg = ""; + success = twitObj->friendshipCreate(frnd, false); + if(success) { + twitObj->getLastWebResponse(replyMsg); + + LOG4CXX_INFO(logger, user << replyMsg) + + friendInfo = getUser(replyMsg); + if(friendInfo.getScreenName() == "") {LOG4CXX_INFO(logger, user << " - Was unable to fetch user info for " << frnd)} + + HTTPRequest req; + std::string img; + + req.init(); + req.setProxy(twitObj->getProxyServerIp(), twitObj->getProxyServerPort(), twitObj->getProxyUserName(), twitObj->getProxyPassword()); + + profileImg = ""; + if(req.GET(friendInfo.getProfileImgURL(), img)) profileImg = img; + else { + LOG4CXX_INFO(logger, user << " - Was unable to fetch profile image of user " << frnd); + } + + } +} + +void CreateFriendRequest::finalize() +{ + if(!success) { + std::string error; + twitObj->getLastCurlError(error); + LOG4CXX_ERROR(logger, user << " - Curl error: " << error) + callBack(user, friendInfo, profileImg, error); + } else { + std::string error; + error = getErrorMessage(replyMsg); + if(error.length()) { + LOG4CXX_ERROR(logger, user << " - " << error) + } + else LOG4CXX_INFO(logger, user << ": Now following " << frnd) + callBack(user, friendInfo, profileImg, error); + } +}