Coverage Report

Created: 2026-08-17 07:50

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/qtbase/src/network/access/qnetworkcookie.h
Line
Count
Source
1
// Copyright (C) 2016 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#ifndef QNETWORKCOOKIE_H
6
#define QNETWORKCOOKIE_H
7
8
#include <QtNetwork/qtnetworkglobal.h>
9
#include <QtCore/QSharedDataPointer>
10
#include <QtCore/QList>
11
#include <QtCore/QMetaType>
12
#include <QtCore/QObject>
13
14
QT_BEGIN_NAMESPACE
15
16
17
class QByteArray;
18
class QDateTime;
19
class QString;
20
class QUrl;
21
22
class QNetworkCookiePrivate;
23
class Q_NETWORK_EXPORT QNetworkCookie
24
{
25
    Q_GADGET
26
public:
27
    enum RawForm {
28
        NameAndValueOnly,
29
        Full
30
    };
31
    enum class SameSite {
32
        Default,
33
        None,
34
        Lax,
35
        Strict
36
    };
37
0
    Q_ENUM(SameSite)
Unexecuted instantiation: qt_getEnumMetaObject(QNetworkCookie::SameSite)
Unexecuted instantiation: qt_getEnumName(QNetworkCookie::SameSite)
38
0
39
0
    explicit QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray());
40
0
    QNetworkCookie(const QNetworkCookie &other);
41
0
    ~QNetworkCookie();
42
0
    QNetworkCookie &operator=(QNetworkCookie &&other) noexcept { swap(other); return *this; }
43
    QNetworkCookie &operator=(const QNetworkCookie &other);
44
45
0
    void swap(QNetworkCookie &other) noexcept { d.swap(other.d); }
46
47
    bool operator==(const QNetworkCookie &other) const;
48
    inline bool operator!=(const QNetworkCookie &other) const
49
0
    { return !(*this == other); }
50
51
    bool isSecure() const;
52
    void setSecure(bool enable);
53
    bool isHttpOnly() const;
54
    void setHttpOnly(bool enable);
55
    SameSite sameSitePolicy() const;
56
    void setSameSitePolicy(SameSite sameSite);
57
58
    bool isSessionCookie() const;
59
    QDateTime expirationDate() const;
60
    void setExpirationDate(const QDateTime &date);
61
62
    QString domain() const;
63
    void setDomain(const QString &domain);
64
65
    QString path() const;
66
    void setPath(const QString &path);
67
68
    QByteArray name() const;
69
    void setName(const QByteArray &cookieName);
70
71
    QByteArray value() const;
72
    void setValue(const QByteArray &value);
73
74
    QByteArray toRawForm(RawForm form = Full) const;
75
76
    bool hasSameIdentifier(const QNetworkCookie &other) const;
77
    void normalize(const QUrl &url);
78
79
#if QT_NETWORK_REMOVED_SINCE(6, 7)
80
    static QList<QNetworkCookie> parseCookies(const QByteArray &cookieString);
81
#endif
82
    static QList<QNetworkCookie> parseCookies(QByteArrayView cookieString);
83
84
private:
85
    QSharedDataPointer<QNetworkCookiePrivate> d;
86
    friend class QNetworkCookiePrivate;
87
};
88
89
Q_DECLARE_SHARED(QNetworkCookie)
90
91
#ifndef QT_NO_DEBUG_STREAM
92
class QDebug;
93
Q_NETWORK_EXPORT QDebug operator<<(QDebug, const QNetworkCookie &);
94
#endif
95
96
QT_END_NAMESPACE
97
98
QT_DECL_METATYPE_EXTERN(QNetworkCookie, Q_NETWORK_EXPORT)
99
100
#endif