@@ -91,7 +91,9 @@ class Q_DECL_HIDDEN BaseJob::Private {
91
91
}
92
92
}
93
93
94
- void sendRequest ();
94
+ QNetworkRequest prepareRequest ();
95
+ void sendRequest (const QNetworkRequest& req);
96
+
95
97
/* ! \brief Parse the response byte array into JSON
96
98
*
97
99
* This calls QJsonDocument::fromJson() on rawResponse, converts
@@ -284,10 +286,10 @@ QUrl BaseJob::makeRequestUrl(QUrl baseUrl, const QByteArray& encodedPath,
284
286
return baseUrl;
285
287
}
286
288
287
- void BaseJob::Private::sendRequest ()
289
+ QNetworkRequest BaseJob::Private::prepareRequest ()
288
290
{
289
- QNetworkRequest req { makeRequestUrl (connection->baseUrl (), apiEndpoint,
290
- requestQuery) };
291
+ QNetworkRequest req{ makeRequestUrl (connection->baseUrl (), apiEndpoint,
292
+ requestQuery) };
291
293
if (!requestHeaders.contains (" Content-Type" ))
292
294
req.setHeader (QNetworkRequest::ContentTypeHeader, " application/json" _ls);
293
295
if (needsToken)
@@ -305,7 +307,11 @@ void BaseJob::Private::sendRequest()
305
307
Q_ASSERT (req.url ().isValid ());
306
308
for (auto it = requestHeaders.cbegin (); it != requestHeaders.cend (); ++it)
307
309
req.setRawHeader (it.key (), it.value ());
310
+ return req;
311
+ }
308
312
313
+ void BaseJob::Private::sendRequest (const QNetworkRequest& req)
314
+ {
309
315
switch (verb) {
310
316
case HttpVerb::Get:
311
317
reply = connection->nam ()->get (req);
@@ -369,8 +375,9 @@ void BaseJob::sendRequest()
369
375
}
370
376
Q_ASSERT (d->connection && status ().code == Pending);
371
377
d->needsToken |= d->connection ->needsToken (objectName ());
372
- emit aboutToSendRequest ();
373
- d->sendRequest ();
378
+ auto req = d->prepareRequest ();
379
+ emit aboutToSendRequest (&req);
380
+ d->sendRequest (req);
374
381
Q_ASSERT (d->reply );
375
382
connect (reply (), &QNetworkReply::finished, this , [this ] {
376
383
gotReply ();
0 commit comments