void AccountManager::updateBalance() { if (hasValidAccessToken()) { // ask our auth endpoint for our balance JSONCallbackParameters callbackParameters; callbackParameters.jsonCallbackReceiver = &_accountInfo; callbackParameters.jsonCallbackMethod = "setBalanceFromJSON"; authenticatedRequest("/api/v1/wallets/mine", QNetworkAccessManager::GetOperation, callbackParameters); } }
QNetworkReply* OAuthNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest& req, QIODevice* outgoingData) { auto accountManager = DependencyManager::get<AccountManager>(); if (accountManager->hasValidAccessToken() && req.url().host() == NetworkingConstants::METAVERSE_SERVER_URL.host()) { QNetworkRequest authenticatedRequest(req); authenticatedRequest.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); authenticatedRequest.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); authenticatedRequest.setRawHeader(ACCESS_TOKEN_AUTHORIZATION_HEADER, accountManager->getAccountInfo().getAccessToken().authorizationHeaderValue()); return QNetworkAccessManager::createRequest(op, authenticatedRequest, outgoingData); } else { return QNetworkAccessManager::createRequest(op, req, outgoingData); } }
void QtgdataClient::sendClientRequest(HttpRequest::RequestHttpMethod method, QUrl endpoint, QList<QPair<QByteArray,QByteArray> > &headers, QByteArray *body, bool oauth) { HttpRequest *request = authenticatedRequest(); request->setRequestEndpoint(endpoint); request->setHttpMethod(method); for(int i=0; i < headers.size(); i++) request->setHeader(headers.at(i).first,headers.at(i).second); if(oauth) request->setAuthHeader(); if(body != NULL) request->setRequestBody(*body); if((method == HttpRequest::POST) || (method == HttpRequest::PUT)) request->setHeader(QByteArray("Content-Type"),QByteArray("application/atom+xml")); connect(&this->httpConnector, SIGNAL(requestFinished(QByteArray)), this, SLOT(onAtomFeedRetrieved(QByteArray))); this->httpConnector.httpRequest(request); delete request; }