#include "request.h" #include "logger.h" #include "requestmanager.h" // to get logger class #include #include namespace serversdk { Request::~Request() { } QNetworkRequest Request::networkRequest() const { QNetworkRequest request(QUrl(this->mUrl)); if ( !userName().isEmpty() && !password().isEmpty() ) request.setRawHeader("Authorization", this->basicAuthorization().toUtf8()); if ( !token().isEmpty() ) { request.setRawHeader("Authorization", this->bearerAuthorization().toUtf8()); } // Enabled compression #ifdef CORESDK_ZLIB request.setRawHeader("Accept-Encoding", "gzip, deflate"); #endif // Enabling HTTP/2 ( not supported on Ubuntu 16.04 ) // request.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, true); return request; } void Request::appendData(const QByteArray &array) { mResponseData += array; } QString Request::url() const { return mUrl; } void Request::setUrl(const QString &url) { mUrl = url; } QByteArray Request::responseData() const { return mResponseData; } QByteArray Request::requestData() const { return mRequestData; } void Request::setRequestData(const QByteArray &requestData) { mRequestData = requestData; } QString Request::token() const { return mToken; } void Request::setToken(const QString &token) { mToken = token; } QString Request::userName() const { return mUserName; } void Request::setUserName(const QString &username) { mUserName = username; } QString Request::password() const { return mPassword; } void Request::setPassword(const QString &password) { mPassword = password; } QString Request::basicAuthorization() const { // HTTP Basic authentication header value: base64(username:password) QString concatenated = userName() + ":" + password(); QByteArray data = concatenated.toLocal8Bit().toBase64(); QString headerData = "Basic " + data; return headerData; //request.setRawHeader("Authorization", headerData.toLocal8Bit()); } QString Request::bearerAuthorization() const { qCDebug(sdknetwork) << "not implemented yet"; return QString(); } } // core