diff --git a/CMakeLists.txt b/CMakeLists.txt index 85793bdfd..383f6871d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -181,7 +181,7 @@ set(APP_SOURCES src/core/dynamicshortcuts.cpp src/core/basenetworkaccessmanager.cpp src/core/basewebpage.cpp - src/core/webBrowsernetworkaccessmanager.cpp + src/core/webbrowsernetworkaccessmanager.cpp # Basic application sources. src/main.cpp diff --git a/src/core/basenetworkaccessmanager.cpp b/src/core/basenetworkaccessmanager.cpp index 929763f45..eed022d82 100644 --- a/src/core/basenetworkaccessmanager.cpp +++ b/src/core/basenetworkaccessmanager.cpp @@ -45,7 +45,13 @@ void BaseNetworkAccessManager::loadSettings() { QNetworkReply *BaseNetworkAccessManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData) { - return QNetworkAccessManager::createRequest(op, - request, - outgoingData); + QNetworkRequest new_request = request; + + // This rapidly speeds up loading of web sites. + // NOTE: https://en.wikipedia.org/wiki/HTTP_pipelining + new_request.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); + + // Setup custom user-agent. + new_request.setHeader(QNetworkRequest::UserAgentHeader, static_cast(APP_USERAGENT)); + return QNetworkAccessManager::createRequest(op, new_request, outgoingData); } diff --git a/src/core/defs.h.in b/src/core/defs.h.in index f3f0ec1ba..58a15138c 100644 --- a/src/core/defs.h.in +++ b/src/core/defs.h.in @@ -2,6 +2,7 @@ #define DEFS_H #include +#include #define CMAKE_VERSION "@CMAKE_VERSION@" #define CMAKE_SYSTEM "@CMAKE_SYSTEM@" @@ -13,6 +14,7 @@ #define APP_AUTHORS "@APP_AUTHOR@" #define APP_URL "@APP_URL@" #define APP_VERSION "@APP_VERSION@" +#define APP_USERAGENT QString("@APP_NAME@/@APP_VERSION@ (@APP_URL@) on @CMAKE_SYSTEM@; Webkit/") + QTWEBKIT_VERSION_STR #define APP_CFG_PATH "data/config/config.ini" #define APP_CFG_GUI "gui"