Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qnetworkrequestfactory.h
Go to the documentation of this file.
1// Copyright (C) 2023 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 QNETWORKREQUESTFACTORY_H
6#define QNETWORKREQUESTFACTORY_H
7
8#include <QtNetwork/qnetworkrequest.h>
9#include <QtNetwork/qhttpheaders.h>
10
11#include <QtCore/qcompare.h>
12#include <QtCore/qshareddata.h>
13#include <QtCore/qurlquery.h>
14#include <QtCore/qurl.h>
15#include <QtCore/qvariant.h>
16
17#include <chrono>
18
19QT_BEGIN_NAMESPACE
20
21class QDebug;
22#if QT_CONFIG(ssl)
23class QSslConfiguration;
24#endif
25
26class QNetworkRequestFactoryPrivate;
27QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(QNetworkRequestFactoryPrivate, Q_NETWORK_EXPORT)
28
30{
31public:
35
39
42
44 Q_NETWORK_EXPORT void setBaseUrl(const QUrl &url);
45
46#if QT_CONFIG(ssl)
49#endif
50
51 Q_NETWORK_EXPORT QNetworkRequest createRequest() const;
55
56 Q_NETWORK_EXPORT void setCommonHeaders(const QHttpHeaders &headers);
57 Q_NETWORK_EXPORT QHttpHeaders commonHeaders() const;
59
60 Q_NETWORK_EXPORT QByteArray bearerToken() const;
61 Q_NETWORK_EXPORT void setBearerToken(const QByteArray &token);
63
64 Q_NETWORK_EXPORT QString userName() const;
65 Q_NETWORK_EXPORT void setUserName(const QString &userName);
67
69 Q_NETWORK_EXPORT void setPassword(const QString &password);
71
72 Q_NETWORK_EXPORT void setTransferTimeout(std::chrono::milliseconds timeout);
73 Q_NETWORK_EXPORT std::chrono::milliseconds transferTimeout() const;
74
75 Q_NETWORK_EXPORT QUrlQuery queryParameters() const;
76 Q_NETWORK_EXPORT void setQueryParameters(const QUrlQuery &query);
78
79 Q_NETWORK_EXPORT void setPriority(QNetworkRequest::Priority priority);
81
82 Q_NETWORK_EXPORT QVariant attribute(QNetworkRequest::Attribute attribute) const;
84 const QVariant &defaultValue) const;
85 Q_NETWORK_EXPORT void setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value);
86 Q_NETWORK_EXPORT void clearAttribute(QNetworkRequest::Attribute attribute);
88
89private:
90#ifndef QT_NO_DEBUG_STREAM
92#endif
93
94 QExplicitlySharedDataPointer<QNetworkRequestFactoryPrivate> d;
95};
96
97Q_DECLARE_SHARED(QNetworkRequestFactory)
98
99QT_END_NAMESPACE
100
101#endif // QNETWORKREQUESTFACTORY_H
Convenience class for grouping remote server endpoints that share common network request properties.
Q_NETWORK_EXPORT void setQueryParameters(const QUrlQuery &query)
Sets query parameters that are added to individual requests' query parameters.
Q_NETWORK_EXPORT void clearUserName()
Clears the username set to this factory.
Q_NETWORK_EXPORT void setBaseUrl(const QUrl &url)
Sets the base URL used in individual requests to url.
Q_NETWORK_EXPORT ~QNetworkRequestFactory()
Destroys this QNetworkRequestFactory object.
Q_NETWORK_EXPORT void clearBearerToken()
Clears the bearer token.
Q_NETWORK_EXPORT void setBearerToken(const QByteArray &token)
Sets the bearer token to token.
Q_NETWORK_EXPORT void setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value)
Q_NETWORK_EXPORT void clearQueryParameters()
Clears the query parameters.
Q_NETWORK_EXPORT void clearPassword()
Clears the password set to this factory.
Q_NETWORK_EXPORT void clearCommonHeaders()
Clears current headers.
Q_NETWORK_EXPORT void clearAttributes()
Q_NETWORK_EXPORT void setUserName(const QString &userName)
Sets the username of this factory to userName.
Q_NETWORK_EXPORT void setTransferTimeout(std::chrono::milliseconds timeout)
Sets timeout used for transfers.
Q_NETWORK_EXPORT void setPassword(const QString &password)
Sets the password of this factory to password.
Q_NETWORK_EXPORT void setPriority(QNetworkRequest::Priority priority)
Q_NETWORK_EXPORT void clearAttribute(QNetworkRequest::Attribute attribute)
Q_NETWORK_EXPORT void setCommonHeaders(const QHttpHeaders &headers)
Sets headers that are common to all requests.
QNetworkRequestFactory(QNetworkRequestFactory &&other) noexcept=default
Move-constructs the factory from other.
Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core")