Files
@ e9891aa2000a
Branch filter:
Location: libtransport.git/backends/twitter/Requests/PINExchangeProcess.cpp - annotation
e9891aa2000a
2.4 KiB
text/x-c++hdr
Added parser to parse error messages from twitter; Added curl option to handle gzip encoded responses
cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a e9891aa2000a cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f cb62e786889f | #include "PINExchangeProcess.h"
DEFINE_LOGGER(logger, "PINExchangeProcess")
void PINExchangeProcess::run()
{
LOG4CXX_INFO(logger, user << ": Sending PIN " << data)
LOG4CXX_INFO(logger, user << " " << twitObj->getProxyServerIp() << " " << twitObj->getProxyServerPort())
twitObj->getOAuth().setOAuthPin( data );
success = twitObj->oAuthAccessToken();
}
void PINExchangeProcess::finalize()
{
if(!success) {
LOG4CXX_ERROR(logger, user << ": Error while exchanging PIN for Access Token!")
np->handleLogoutRequest(user, "");
} else {
std::string replyMsg;
while(replyMsg.length() == 0) {
twitObj->getLastWebResponse(replyMsg);
}
std::string error = getErrorMessage(replyMsg);
if(error.length()) {
LOG4CXX_ERROR(logger, user << ": Error while exchanging PIN for Access Token! " << error)
np->handleMessage(user, "twitter-account", error);
np->handleLogoutRequest(user, "");
return;
}
std::string OAuthAccessTokenKey, OAuthAccessTokenSecret;
twitObj->getOAuth().getOAuthTokenKey( OAuthAccessTokenKey );
twitObj->getOAuth().getOAuthTokenSecret( OAuthAccessTokenSecret );
if(np->storeUserOAuthKeyAndSecret(user, OAuthAccessTokenKey, OAuthAccessTokenSecret) == false) {
np->handleLogoutRequest(user, "");
return;
}
np->pinExchangeComplete(user, OAuthAccessTokenKey, OAuthAccessTokenSecret);
LOG4CXX_INFO(logger, user << ": Sent PIN " << data << " and obtained Access Token");
}
}
/*void handlePINExchange(const std::string &user, std::string &data) {
sessions[user]->getOAuth().setOAuthPin( data );
if (sessions[user]->oAuthAccessToken() == false) {
LOG4CXX_ERROR(logger, user << ": Error while exchanging PIN for Access Token!")
handleLogoutRequest(user, "");
return;
}
std::string OAuthAccessTokenKey, OAuthAccessTokenSecret;
sessions[user]->getOAuth().getOAuthTokenKey( OAuthAccessTokenKey );
sessions[user]->getOAuth().getOAuthTokenSecret( OAuthAccessTokenSecret );
UserInfo info;
if(storagebackend->getUser(user, info) == false) {
LOG4CXX_ERROR(logger, "Didn't find entry for " << user << " in the database!")
handleLogoutRequest(user, "");
return;
}
storagebackend->updateUserSetting((long)info.id, OAUTH_KEY, OAuthAccessTokenKey);
storagebackend->updateUserSetting((long)info.id, OAUTH_SECRET, OAuthAccessTokenSecret);
connectionState[user] = CONNECTED;
LOG4CXX_INFO(logger, user << ": Sent PIN " << data << " and obtained Access Token");
}*/
|