From: Hannah von Reth Date: Wed, 9 Dec 2020 12:14:05 +0000 (+0100) Subject: Log the final http request X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~21^2~446^2~13 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f6f7789afad378c02e0b36f20a29b4423a55a750;p=nextcloud-desktop.git Log the final http request --- diff --git a/src/libsync/accessmanager.cpp b/src/libsync/accessmanager.cpp index a93a6e342..db532a385 100644 --- a/src/libsync/accessmanager.cpp +++ b/src/libsync/accessmanager.cpp @@ -90,9 +90,8 @@ QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op, } #endif - HttpLogger::logRequest(newRequest, op, outgoingData); const auto reply = QNetworkAccessManager::createRequest(op, newRequest, outgoingData); - HttpLogger::logReplyOnFinished(reply); + HttpLogger::logRequest(reply, op, outgoingData); return reply; } diff --git a/src/libsync/httplogger.cpp b/src/libsync/httplogger.cpp index d386bfbbc..85b2ebbf1 100644 --- a/src/libsync/httplogger.cpp +++ b/src/libsync/httplogger.cpp @@ -85,24 +85,9 @@ void logHttp(const QByteArray &verb, const QString &url, const QByteArray &id, c namespace OCC { - -void HttpLogger::logReplyOnFinished(const QNetworkReply *reply) -{ - if (!lcNetworkHttp().isInfoEnabled()) { - return; - } - QObject::connect(reply, &QNetworkReply::finished, reply, [reply] { - logHttp(requestVerb(*reply), - reply->url().toString(), - reply->request().rawHeader(XRequestId()), - reply->header(QNetworkRequest::ContentTypeHeader).toString(), - reply->rawHeaderPairs(), - const_cast(reply)); - }); -} - -void HttpLogger::logRequest(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, QIODevice *device) +void HttpLogger::logRequest(QNetworkReply *reply, QNetworkAccessManager::Operation operation, QIODevice *device) { + const auto request = reply->request(); if (!lcNetworkHttp().isInfoEnabled()) { return; } @@ -118,6 +103,15 @@ void HttpLogger::logRequest(const QNetworkRequest &request, QNetworkAccessManage request.header(QNetworkRequest::ContentTypeHeader).toString(), header, device); + + QObject::connect(reply, &QNetworkReply::finished, reply, [reply] { + logHttp(requestVerb(*reply), + reply->url().toString(), + reply->request().rawHeader(XRequestId()), + reply->header(QNetworkRequest::ContentTypeHeader).toString(), + reply->rawHeaderPairs(), + reply); + }); } QByteArray HttpLogger::requestVerb(QNetworkAccessManager::Operation operation, const QNetworkRequest &request) diff --git a/src/libsync/httplogger.h b/src/libsync/httplogger.h index 1d8e59b68..2dde6c117 100644 --- a/src/libsync/httplogger.h +++ b/src/libsync/httplogger.h @@ -20,8 +20,7 @@ namespace OCC { namespace HttpLogger { - void OWNCLOUDSYNC_EXPORT logReplyOnFinished(const QNetworkReply *reply); - void OWNCLOUDSYNC_EXPORT logRequest(const QNetworkRequest &request, QNetworkAccessManager::Operation operation, QIODevice *device); + void OWNCLOUDSYNC_EXPORT logRequest(QNetworkReply *reply, QNetworkAccessManager::Operation operation, QIODevice *device); /** * Helper to construct the HTTP verb used in the request