/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/smolbote.hg * * SPDX-License-Identifier: GPL-3.0 */ #include "cookieinterceptor.h" #include #include CookieInterceptor::CookieInterceptor(const QString &path, QObject *parent) : QObject(parent) { } void CookieInterceptor::judgeCookie(const QNetworkCookie &cookie) { QWebEngineCookieStore *store = dynamic_cast(sender()); Q_CHECK_PTR(store); qDebug("Added cookie %s::%s", qUtf8Printable(cookie.domain()), qUtf8Printable(cookie.name())); // A session cookie is a cookie which has no expiration date, which means it should be discarded when // the application's concept of session is over (usually, when the application exits) if(!cookie.isSessionCookie()) { QNetworkCookie copyCookie(cookie); copyCookie.setExpirationDate(QDateTime::fromString("")); qDebug("cookie is now session?: %s", copyCookie.isSessionCookie() ? "yes" : "no"); store->deleteCookie(cookie, cookie.domain()); store->setCookie(copyCookie, copyCookie.domain()); } }