void ServerMessagesSyncer::Request (IMessage::Direction dir)
	{
		auto getter = [=] (const QString& key, const VkConnection::UrlParams_t& params)
		{
			const auto gracePeriod = 60 * 10;
			const auto secsDiff = Since_.secsTo (QDateTime::currentDateTime ()) + gracePeriod;

			QUrl url { "https://api.vk.com/method/messages.get" };
			Util::UrlOperator { url }
					("access_token", key)
					("out", dir == IMessage::Direction::Out ? "1" : "0")
					("count", RequestSize)
					("offset", Offset_)
					("time_offset", secsDiff);
			VkConnection::AddParams (url, params);

			const auto reply = Acc_->GetCoreProxy ()->
					GetNetworkAccessManager ()->get (QNetworkRequest { url });

			new Util::SlotClosure<Util::DeleteLaterPolicy>
			{
				[=] { HandleFinished (reply, dir); },
				reply,
				SIGNAL (finished ()),
				this
			};

			return reply;
		};

		Acc_->GetConnection ()->QueueRequest (getter);
	}
Exemple #2
0
void  URL_DataStorage::FailAuthenticate(int mode)
{
	if(mode == AUTH_USER_CANCELLED)
	{
		OpFileLength registered_len=0;
		GetAttribute(URL::KContentLoaded, &registered_len);
		if(!registered_len)
			HandleFailed(ERR_SSL_ERROR_HANDLED);
		else
			HandleFinished();
	}
	else
	{
		int err = AUTH_ERRSTR(SI,ERR_UNSUPPORTED_SERVER_AUTH);

		switch(mode)
		{
		case AUTH_NO_DOMAIN_MATCH: 
			err = AUTH_ERRSTR(SI,ERR_AUTH_DOMAIN_MATCH);
			break;
		case AUTH_NO_PROXY_METH: 
			err = AUTH_ERRSTR(SI,ERR_UNSUPPORTED_PROXY_AUTH);
			break;
		case AUTH_MEMORY_FAILURE:
			g_memory_manager->RaiseCondition(OpStatus::ERR_NO_MEMORY);
        case AUTH_GENERAL_FAILURE:
			err = AUTH_ERRSTR(SI,ERR_COMM_INTERNAL_ERROR);
			break;
		}
		HandleFailed(err);
	}
}
void QJwsIPCThread::InitializeThread( )
{
    bool bRet = connect( this, SIGNAL( started( ) ),
                         this, SLOT( HandleStarted( ) ) );
    bRet = connect( this, SIGNAL( finished( ) ),
                             this, SLOT( HandleFinished( ) ) );
}
Exemple #4
0
void URL_DataStorage::Authenticate(AuthElm *auth_elm)
{
	if(!auth_elm || !mh_list || mh_list->IsEmpty())
		return;

	if((auth_elm->GetScheme() & AUTH_SCHEME_HTTP_PROXY) == 0 && (url->GetAttribute(URL::KUserName).CStr() || url->GetAttribute(URL::KPassWord).CStr()))
	{
		if(url->GetAttribute(URL::KUserName).Compare(auth_elm->GetUser()) != 0)
		{
			if((auth_elm->GetScheme() & AUTH_SCHEME_FTP) != 0)
			{
				FailAuthenticate(AUTH_GENERAL_FAILURE);
				return;
			}
			// redirect to non-username URL
			OpString8 temp_url;
			url->GetAttribute(URL::KName_With_Fragment_Escaped, temp_url);
			URL redirect_url = urlManager->GetURL(temp_url);
			TRAPD(op_err, SetAttributeL(URL::KMovedToURL, redirect_url));
			if(OpStatus::IsSuccess(op_err))
				ExecuteRedirect_Stage2();
			HandleFinished();
			return;
		}
	}

	if(loading)
		loading->Authenticate(auth_elm);
}