aboutsummaryrefslogtreecommitdiff
path: root/jobs/basejob.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'jobs/basejob.cpp')
-rw-r--r--jobs/basejob.cpp21
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"),