setCookieJar(new CookieJar);
}
-void AccessManager::setRawCookie(const QByteArray &rawCookie, const QUrl &url)
-{
- QNetworkCookie cookie(rawCookie.left(rawCookie.indexOf('=')),
- rawCookie.mid(rawCookie.indexOf('=') + 1));
- qCDebug(lcAccessManager) << cookie.name() << cookie.value();
- QList<QNetworkCookie> cookieList;
- cookieList.append(cookie);
-
- QNetworkCookieJar *jar = cookieJar();
- jar->setCookiesFromUrl(cookieList, url);
-}
-
static QByteArray generateRequestId()
{
// Use a UUID with the starting and ending curly brace removed.
{
QNetworkRequest newRequest(request);
- if (newRequest.hasRawHeader("cookie")) {
- // This will set the cookie into the QNetworkCookieJar which will then override the cookie header
- setRawCookie(request.rawHeader("cookie"), request.url());
- }
-
// Respect request specific user agent if any
if (!newRequest.header(QNetworkRequest::UserAgentHeader).isValid()) {
newRequest.setHeader(QNetworkRequest::UserAgentHeader, Utility::userAgentString());
public:
AccessManager(QObject *parent = nullptr);
- void setRawCookie(const QByteArray &rawCookie, const QUrl &url);
-
protected:
QNetworkReply *createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *outgoingData = nullptr) override;
};