diff options
Diffstat (limited to 'jobs/basejob.cpp')
-rw-r--r-- | jobs/basejob.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/jobs/basejob.cpp b/jobs/basejob.cpp index 22ce5bd5..0e3e59d0 100644 --- a/jobs/basejob.cpp +++ b/jobs/basejob.cpp @@ -178,17 +178,22 @@ void BaseJob::setExpectedContentTypes(const QByteArrayList& contentTypes) d->expectedContentTypes = contentTypes; } -void BaseJob::Private::sendRequest() +QUrl BaseJob::makeRequestUrl(QUrl baseUrl, + const QString& path, const QUrlQuery& query) { - QUrl url = connection->baseUrl(); - QString path = url.path(); - if (!path.endsWith('/') && !apiEndpoint.startsWith('/')) - path.push_back('/'); + auto pathBase = baseUrl.path(); + if (!pathBase.endsWith('/') && !path.startsWith('/')) + pathBase.push_back('/'); - url.setPath( path + apiEndpoint ); - url.setQuery(requestQuery); + baseUrl.setPath( pathBase + path ); + baseUrl.setQuery(query); + return baseUrl; +} - QNetworkRequest req {url}; +void BaseJob::Private::sendRequest() +{ + QNetworkRequest req + { makeRequestUrl(connection->baseUrl(), apiEndpoint, requestQuery) }; if (!requestHeaders.contains("Content-Type")) req.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"); req.setRawHeader(QByteArray("Authorization"), |