Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
4#ifndef QNETWORKREQUESTFACTORY_H
5#define QNETWORKREQUESTFACTORY_H
6
7#include <QtNetwork/qnetworkrequest.h>
8#include <QtNetwork/qhttpheaders.h>
9
10#include <QtCore/qcompare.h>
11#include <QtCore/qshareddata.h>
12#include <QtCore/qurlquery.h>
13#include <QtCore/qurl.h>
14#include <QtCore/qvariant.h>
15
16#include <chrono>
17
19
20class QDebug;
21#if QT_CONFIG(ssl)
23#endif
24
27
29{
30public:
31 Q_NETWORK_EXPORT QNetworkRequestFactory();
32 Q_NETWORK_EXPORT explicit QNetworkRequestFactory(const QUrl &baseUrl);
33 Q_NETWORK_EXPORT ~QNetworkRequestFactory();
34
38
39 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QNetworkRequestFactory)
40 void swap(QNetworkRequestFactory &other) noexcept { d.swap(other.d); }
41
42 Q_NETWORK_EXPORT QUrl baseUrl() const;
43 Q_NETWORK_EXPORT void setBaseUrl(const QUrl &url);
44
45#if QT_CONFIG(ssl)
46 Q_NETWORK_EXPORT QSslConfiguration sslConfiguration() const;
47 Q_NETWORK_EXPORT void setSslConfiguration(const QSslConfiguration &configuration);
48#endif
49
50 Q_NETWORK_EXPORT QNetworkRequest createRequest() const;
51 Q_NETWORK_EXPORT QNetworkRequest createRequest(const QUrlQuery &query) const;
52 Q_NETWORK_EXPORT QNetworkRequest createRequest(const QString &path) const;
53 Q_NETWORK_EXPORT QNetworkRequest createRequest(const QString &path, const QUrlQuery &query) const;
54
55 Q_NETWORK_EXPORT void setCommonHeaders(const QHttpHeaders &headers);
56 Q_NETWORK_EXPORT QHttpHeaders commonHeaders() const;
57 Q_NETWORK_EXPORT void clearCommonHeaders();
58
59 Q_NETWORK_EXPORT QByteArray bearerToken() const;
60 Q_NETWORK_EXPORT void setBearerToken(const QByteArray &token);
61 Q_NETWORK_EXPORT void clearBearerToken();
62
63 Q_NETWORK_EXPORT QString userName() const;
64 Q_NETWORK_EXPORT void setUserName(const QString &userName);
65 Q_NETWORK_EXPORT void clearUserName();
66
67 Q_NETWORK_EXPORT QString password() const;
68 Q_NETWORK_EXPORT void setPassword(const QString &password);
69 Q_NETWORK_EXPORT void clearPassword();
70
71 Q_NETWORK_EXPORT void setTransferTimeout(std::chrono::milliseconds timeout);
72 Q_NETWORK_EXPORT std::chrono::milliseconds transferTimeout() const;
73
74 Q_NETWORK_EXPORT QUrlQuery queryParameters() const;
75 Q_NETWORK_EXPORT void setQueryParameters(const QUrlQuery &query);
76 Q_NETWORK_EXPORT void clearQueryParameters();
77
78 Q_NETWORK_EXPORT void setPriority(QNetworkRequest::Priority priority);
79 Q_NETWORK_EXPORT QNetworkRequest::Priority priority() const;
80
83 const QVariant &defaultValue) const;
84 Q_NETWORK_EXPORT void setAttribute(QNetworkRequest::Attribute attribute, const QVariant &value);
85 Q_NETWORK_EXPORT void clearAttribute(QNetworkRequest::Attribute attribute);
86 Q_NETWORK_EXPORT void clearAttributes();
87
88private:
89#ifndef QT_NO_DEBUG_STREAM
90 friend Q_NETWORK_EXPORT QDebug operator<<(QDebug debug, const QNetworkRequestFactory &reply);
91#endif
92
93 QExplicitlySharedDataPointer<QNetworkRequestFactoryPrivate> d;
94};
95
96Q_DECLARE_SHARED(QNetworkRequestFactory)
97
99
100#endif // QNETWORKREQUESTFACTORY_H
\inmodule QtCore
Definition qbytearray.h:57
\inmodule QtCore
std::chrono::milliseconds transferTimeout
Convenience class for grouping remote server endpoints that share common network request properties.
Q_NETWORK_EXPORT QNetworkRequestFactory(const QNetworkRequestFactory &other)
Creates a copy of other.
Q_NETWORK_EXPORT ~QNetworkRequestFactory()
Destroys this QNetworkRequestFactory object.
Q_NETWORK_EXPORT QNetworkRequestFactory & operator=(const QNetworkRequestFactory &other)
Creates a copy of other and returns a reference to this factory.
QNetworkRequestFactory(QNetworkRequestFactory &&other) noexcept=default
Move-constructs the factory from other.
The QNetworkRequest class holds a request to be sent with QNetworkAccessManager.
The QSslConfiguration class holds the configuration and state of an SSL connection.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qurlquery.h:20
\inmodule QtCore
Definition qurl.h:94
\inmodule QtCore
Definition qvariant.h:65
myinstance setPriority(MyClass::VeryHigh)
Token token
Definition keywords.cpp:444
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
EGLOutputLayerEXT EGLint attribute
GLbitfield GLuint64 timeout
[4]
GLenum query
GLsizei const GLchar *const * path
#define QT_DECLARE_QESDP_SPECIALIZATION_DTOR_WITH_EXPORT(Class, ExportMacro)
#define QT_TECH_PREVIEW_API
QUrl url("example.com")
[constructor-url-reference]
QUrl baseUrl
QDataStream & operator<<(QDataStream &out, const MyClass &myObj)
[4]
QSharedPointer< T > other(t)
[5]
this swap(other)
app setAttribute(Qt::AA_DontShowIconsInMenus)
QNetworkReply * reply
api setBearerToken("my_token")
proxy setPassword("password")
sslSocket setSslConfiguration(config)