#include <QNetworkCookie>
#include <QNetworkCookieJar>
#include <QNetworkConfiguration>
+#include <QUuid>
#include "cookiejar.h"
#include "accessmanager.h"
jar->setCookiesFromUrl(cookieList, url);
}
+static QByteArray generateRequestId()
+{
+ // Use a UUID with the starting and ending curly brace removed.
+ auto uuid = QUuid::createUuid().toByteArray();
+ return uuid.mid(1, uuid.size() - 2);
+}
+
QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData)
{
QNetworkRequest newRequest(request);
if (verb == "PROPFIND") {
newRequest.setHeader(QNetworkRequest::ContentTypeHeader, QLatin1String("text/xml; charset=utf-8"));
}
+
+ // Generate a new request id
+ QByteArray requestId = generateRequestId();
+ qInfo(lcAccessManager) << op << verb << newRequest.url().toString() << "has X-Request-ID" << requestId;
+ newRequest.setRawHeader("X-Request-ID", requestId);
+
return QNetworkAccessManager::createRequest(op, newRequest, outgoingData);
}
#include <QDir>
#include <QSslKey>
-#include <QUuid>
-
namespace OCC {
Q_LOGGING_CATEGORY(lcAccount, "sync.account", QtInfoMsg)
return _credentials.data();
}
-static QByteArray generateRequestId()
-{
- // Use a UUID with the starting and ending curly brace removed.
- auto uuid = QUuid::createUuid().toByteArray();
- return uuid.mid(1, uuid.size() - 2);
-}
-
void Account::setCredentials(AbstractCredentials *cred)
{
// set active credential manager
SLOT(slotCredentialsFetched()));
connect(_credentials.data(), SIGNAL(asked()),
SLOT(slotCredentialsAsked()));
-
- // Generate a new request id
- _requestId = generateRequestId();
- qCInfo(lcAccount) << "Account for" << url() << "has X-Request-ID" << _requestId;
}
QUrl Account::davUrl() const
{
req.setUrl(url);
req.setSslConfiguration(this->getOrCreateSslConfig());
- req.setRawHeader("X-Request-ID", _requestId);
if (verb == "HEAD" && !data) {
return _am->head(req);
} else if (verb == "GET" && !data) {
/// Certificates that were explicitly rejected by the user
QList<QSslCertificate> _rejectedCertificates;
- /// X-Request-ID to send in network requests
- QByteArray _requestId;
-
static QString _configFileName;
QString _davPath; // defaults to value from theme, might be overwritten in brandings