40 ContentDispositionHeader,
43 IfModifiedSinceHeader,
52 HttpStatusCodeAttribute,
53 HttpReasonPhraseAttribute,
54 RedirectionTargetAttribute,
55 ConnectionEncryptedAttribute,
56 CacheLoadControlAttribute,
57 CacheSaveControlAttribute,
58 SourceIsFromCacheAttribute,
59 DoNotBufferUploadDataAttribute,
60 HttpPipeliningAllowedAttribute,
61 HttpPipeliningWasUsedAttribute,
63 CookieLoadControlAttribute,
64 AuthenticationReuseAttribute,
65 CookieSaveControlAttribute,
66 MaximumDownloadBufferSizeAttribute,
67 DownloadBufferAttribute,
68 SynchronousRequestAttribute,
69 BackgroundRequestAttribute,
70 EmitAllUploadProgressSignalsAttribute,
71 Http2AllowedAttribute,
72 Http2WasUsedAttribute,
73 OriginalContentLengthAttribute,
74 RedirectPolicyAttribute,
76 ResourceTypeAttribute,
77 AutoDeleteReplyOnFinishAttribute,
78 ConnectionCacheExpiryTimeoutSecondsAttribute,
79 Http2CleartextAllowedAttribute,
80 UseCredentialsAttribute,
81 FullLocalServerNameAttribute,
86 enum CacheLoadControl {
103 enum RedirectPolicy {
104 ManualRedirectPolicy,
105 NoLessSafeRedirectPolicy,
106 SameOriginRedirectPolicy,
107 UserVerifiedRedirectPolicy
110 enum TransferTimeoutConstant {
111 DefaultTransferTimeoutConstant = 30000
114 static constexpr auto DefaultTransferTimeout =
115 std::chrono::milliseconds(DefaultTransferTimeoutConstant);
118 explicit QNetworkRequest(
const QUrl &url);
119 QNetworkRequest(
const QNetworkRequest &other);
121 QNetworkRequest &operator=(QNetworkRequest &&other)
noexcept { swap(other);
return *
this; }
122 QNetworkRequest &operator=(
const QNetworkRequest &other);
124 void swap(QNetworkRequest &other)
noexcept { d.swap(other.d); }
126 bool operator==(
const QNetworkRequest &other)
const;
127 inline bool operator!=(
const QNetworkRequest &other)
const
128 {
return !operator==(other); }
131 void setUrl(
const QUrl &url);
133 QHttpHeaders headers()
const;
134 void setHeaders(
const QHttpHeaders &newHeaders);
135 void setHeaders(QHttpHeaders &&newHeaders);
138 QVariant header(KnownHeaders header)
const;
139 void setHeader(KnownHeaders header,
const QVariant &value);
142#if QT_NETWORK_REMOVED_SINCE(6
, 7
)
143 bool hasRawHeader(
const QByteArray &headerName)
const;
145 bool hasRawHeader(QAnyStringView headerName)
const;
146 QList<QByteArray> rawHeaderList()
const;
147#if QT_NETWORK_REMOVED_SINCE(6
, 7
)
148 QByteArray rawHeader(
const QByteArray &headerName)
const;
150 QByteArray rawHeader(QAnyStringView headerName)
const;
151 void setRawHeader(
const QByteArray &headerName,
const QByteArray &value);
154 QVariant attribute(Attribute code,
const QVariant &defaultValue = QVariant())
const;
155 void setAttribute(Attribute code,
const QVariant &value);
158 QSslConfiguration sslConfiguration()
const;
159 void setSslConfiguration(
const QSslConfiguration &configuration);
162 void setOriginatingObject(QObject *object);
163 QObject *originatingObject()
const;
165 Priority priority()
const;
166 void setPriority(Priority priority);
169 int maximumRedirectsAllowed()
const;
170 void setMaximumRedirectsAllowed(
int maximumRedirectsAllowed);
172 QString peerVerifyName()
const;
173 void setPeerVerifyName(
const QString &peerName);
175 QHttp1Configuration http1Configuration()
const;
176 void setHttp1Configuration(
const QHttp1Configuration &configuration);
178 QHttp2Configuration http2Configuration()
const;
179 void setHttp2Configuration(
const QHttp2Configuration &configuration);
181 qint64 decompressedSafetyCheckThreshold()
const;
182 void setDecompressedSafetyCheckThreshold(qint64 threshold);
184 std::chrono::seconds tcpKeepAliveIdleTimeBeforeProbes()
const;
185 void setTcpKeepAliveIdleTimeBeforeProbes(std::chrono::seconds idle)
187 const auto r = q26::saturate_cast<
int>(idle.count());
188 Q_PRE(q20::cmp_equal(r, idle.count()));
189 doSetIdleTimeBeforeProbes(std::chrono::duration<
int>(r));
191 std::chrono::seconds tcpKeepAliveIntervalBetweenProbes()
const;
192 void setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval)
194 const auto r = q26::saturate_cast<
int>(interval.count());
195 Q_PRE(q20::cmp_equal(r, interval.count()));
196 doSetIntervalBetweenProbes(std::chrono::duration<
int>(r));
198 int tcpKeepAliveProbeCount()
const;
199 void setTcpKeepAliveProbeCount(
int probes);
201#if QT_CONFIG(http) || defined (Q_OS_WASM)
202 QT_NETWORK_INLINE_SINCE(6, 8)
203 int transferTimeout()
const;
204 QT_NETWORK_INLINE_SINCE(6, 8)
205 void setTransferTimeout(
int timeout);
207 std::chrono::milliseconds transferTimeoutAsDuration()
const;
208 void setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout);
211 void doSetIdleTimeBeforeProbes(std::chrono::duration<
int> idle);
212 void doSetIntervalBetweenProbes(std::chrono::duration<
int> interval);
213 QSharedDataPointer<QNetworkRequestPrivate> d;
214 friend class QNetworkRequestPrivate;