1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #include "baseapi.h"
- BaseAPI::BaseAPI()
- {
- httpRequest.setRawHeader("Accept", API_ACCEPT);
- httpRequest.setRawHeader("User-Agent", API_USER_AGENT);
- httpRequest.setRawHeader("X-XXX-API-Key", API_KEY);
- httpRequest.setRawHeader("X-XXX-API-Secret", API_SECRET);
- httpRequest.setRawHeader("Accept-Encoding", "gzip, deflate");
- httpRequest.setRawHeader("Content-Type", "application/json");
- settings = new QSettings("XXX");
- QString id = settings->value(SETTING_ACCOUNT_ID, "seyason").toString();
- QString token = settings->value(SETTING_ACCOUNT_TOKEN, "123456").toString();
- if(!id.isEmpty()) {
- httpRequest.setRawHeader("X-XXX-User-ID", id.toStdString().c_str());
- }
- if (!token.isEmpty()) {
- httpRequest.setRawHeader("X-XXX-User-Token", token.toStdString().c_str());
- }
- qDebug() << "BaseAPI...id:" << id << " token:" + token;
- QObject::connect(&networkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(serviceRequestFinished(QNetworkReply*)));
- }
- BaseAPI::~BaseAPI()
- {
- networkAccessManager.disconnect();
- if (settings){
- delete settings;
- settings = nullptr;
- }
- }
- void BaseAPI::get(const QString url)
- {
- httpRequest.setUrl(QUrl(url));
- qDebug() << "http request "<<httpRequest.url();
- networkAccessManager.get(httpRequest);
- }
- void BaseAPI::post(const QString url, const QByteArray &data)
- {
- httpRequest.setUrl(QUrl(url));
- networkAccessManager.post(httpRequest, data);
- }
- void BaseAPI::serviceRequestFinished(QNetworkReply *reply)
- {
- int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
- qDebug() << "BaseAPI...serviceRequestFinished...statusCode:" << statusCode;
- if(reply->error() == QNetworkReply::NoError) {
- requestFinished(reply, reply->readAll(), statusCode);
- } else {
- requestFinished(reply, "", statusCode);
- }
- // At the end of that slot, we won't need it anymore
- reply->deleteLater();
- }
|