Fix build with older Qt: Disable http2 for now due to Qt bug, add env var (upstream)

Disable http2 for now due to Qt bug but allow enabling it via env var, see: https://github.com/owncloud/client/pull/7620
  and: https://github.com/nextcloud/desktop/pull/1806
Issue: https://github.com/nextcloud/desktop/issues/1503

Co-authored-by: XNG <Milokita@users.noreply.github.com>
Co-authored-by: Hannah von Reth <hannah.vonreth@owncloud.com>

Signed-off-by: Michael Schuster <michael@schuster.ms>
This commit is contained in:
Michael Schuster 2020-03-02 01:47:00 +01:00
parent e2066b317b
commit f90f31756a
No known key found for this signature in database
GPG key ID: 00819E3BF4177B28

View file

@ -93,12 +93,19 @@ QNetworkReply *AccessManager::createRequest(QNetworkAccessManager::Operation op,
qInfo(lcAccessManager) << op << verb << newRequest.url().toString() << "has X-Request-ID" << requestId;
newRequest.setRawHeader("X-Request-ID", requestId);
#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 4)
// only enable HTTP2 with Qt 5.9.4 because old Qt have too many bugs (e.g. QTBUG-64359 is fixed in >= Qt 5.9.4)
// Disable http2 for now due to Qt bug
/* Disable http2 for now due to Qt bug but allow enabling it via env var, see: https://github.com/owncloud/client/pull/7620
* and: https://github.com/nextcloud/desktop/pull/1806
* Issue: https://github.com/nextcloud/desktop/issues/1503
*/
if (newRequest.url().scheme() == "https") { // Not for "http": QTBUG-61397
newRequest.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, false);
}
static const bool http2EnabledEnv = qEnvironmentVariableIntValue("OWNCLOUD_HTTP2_ENABLED") == 1;
newRequest.setAttribute(QNetworkRequest::HTTP2AllowedAttribute, http2EnabledEnv);
}
#endif
return QNetworkAccessManager::createRequest(op, newRequest, outgoingData);
}