Skip to content

Commit 54dc731

Browse files
committed
Headers for all requests
1 parent 472eff4 commit 54dc731

5 files changed

+33
-18
lines changed

BackendlessUserAPI.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ void BackendlessUserAPI::logout() {
172172

173173
},
174174
BERequestMethod::get,
175-
{{"token", this->userTokenValue}},
175+
{{"user-token", this->userTokenValue}},
176176
[&](auto replyValue){
177177
qDebug() << replyValue;
178178

BasicAPI.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@ void BasicAPI::request(
2525
) {
2626
switch (method) {
2727
case BERequestMethod::get:
28-
networkAccessManager->get(urlString, context, headers, handleRequest);
28+
networkAccessManager->get(urlString, headers, context, handleRequest);
2929
break;
3030
case BERequestMethod::post:
31-
networkAccessManager->post(urlString, customParams, context, headers, handleRequest);
31+
networkAccessManager->post(urlString, headers, customParams, context, handleRequest);
3232
break;
3333
case BERequestMethod::deleteResource:
34-
networkAccessManager->deleteResource(urlString, context, headers, handleRequest);
34+
networkAccessManager->deleteResource(urlString, headers, context, handleRequest);
3535
break;
3636
case BERequestMethod::put:
37-
networkAccessManager->put(urlString, customParams, context, headers, handleRequest);
37+
networkAccessManager->put(urlString, headers, customParams, context, handleRequest);
3838
break;
3939
}
4040
}

BasicAPI.hpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@ enum class BERequestMethod {
113113

114114
class AnyNetworkAccessManager {
115115
public:
116-
virtual void get(QString, const QObject*, QMap<QString, QString>, std::function<void(QByteArray)> const&) = 0;
117-
virtual void post(QString, PostParams, const QObject*, QMap<QString, QString>, std::function<void(QByteArray)> const&) = 0;
118-
virtual void put(QString, PostParams, const QObject*, QMap<QString, QString>, std::function<void(QByteArray)> const&) = 0;
119-
virtual void deleteResource(QString, const QObject*, QMap<QString, QString>, std::function<void(QByteArray)> const&) = 0;
116+
virtual void get(QString, QMap<QString, QString>, const QObject*, std::function<void(QByteArray)> const&) = 0;
117+
virtual void post(QString, QMap<QString, QString>, PostParams, const QObject*, std::function<void(QByteArray)> const&) = 0;
118+
virtual void put(QString, QMap<QString, QString>, PostParams, const QObject*, std::function<void(QByteArray)> const&) = 0;
119+
virtual void deleteResource(QString, QMap<QString, QString>, const QObject*, std::function<void(QByteArray)> const&) = 0;
120120
};
121121

122122
class BasicAPI {

StandardNetworkManager.cpp

+20-5
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,32 @@
1010
#include <QNetworkRequest>
1111
#include <QNetworkReply>
1212

13-
void StandardNetworkManager::get(QString urlString, const QObject* context, QMap<QString, QString>, std::function<void(QByteArray)> const& handleRequest) {
13+
void StandardNetworkManager::get(QString urlString, QMap<QString, QString> headers, const QObject* context, std::function<void(QByteArray)> const& handleRequest) {
1414
QUrl url(urlString);
1515
QNetworkRequest request(url);
1616

1717
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
18-
request.setRawHeader("user-token", "");
18+
19+
for (auto [key, value] : headers.asKeyValueRange()) {
20+
request.setRawHeader(key.toUtf8(), value.toUtf8());
21+
}
1922

2023
QObject::connect(&manager, &QNetworkAccessManager::finished, context, [handleRequest](auto reply) {
2124
handleRequest(reply->readAll());
2225
}, Qt::SingleShotConnection);
2326
manager.get(request);
2427
}
2528

26-
void StandardNetworkManager::post(QString urlString, PostParams customParams, const QObject* context, QMap<QString, QString>, std::function<void(QByteArray)> const& handleRequest) {
29+
void StandardNetworkManager::post(QString urlString, QMap<QString, QString> headers, PostParams customParams, const QObject* context, std::function<void(QByteArray)> const& handleRequest) {
2730
QUrl url(urlString);
2831
QNetworkRequest request(url);
2932

3033
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
3134

35+
for (auto [key, value] : headers.asKeyValueRange()) {
36+
request.setRawHeader(key.toUtf8(), value.toUtf8());
37+
}
38+
3239
QString params = "{";
3340

3441
for (auto [key, value] : customParams.asKeyValueRange()) {
@@ -49,12 +56,16 @@ void StandardNetworkManager::post(QString urlString, PostParams customParams, co
4956
manager.post(request, params.toUtf8());
5057
}
5158

52-
void StandardNetworkManager::put(QString urlString, PostParams customParams, const QObject* context, QMap<QString, QString>, std::function<void(QByteArray)> const& handleRequest) {
59+
void StandardNetworkManager::put(QString urlString, QMap<QString, QString> headers, PostParams customParams, const QObject* context, std::function<void(QByteArray)> const& handleRequest) {
5360
QUrl url(urlString);
5461
QNetworkRequest request(url);
5562

5663
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
5764

65+
for (auto [key, value] : headers.asKeyValueRange()) {
66+
request.setRawHeader(key.toUtf8(), value.toUtf8());
67+
}
68+
5869
QString params = "{";
5970

6071
for (auto [key, value] : customParams.asKeyValueRange()) {
@@ -75,12 +86,16 @@ void StandardNetworkManager::put(QString urlString, PostParams customParams, con
7586
manager.put(request, params.toUtf8());
7687
}
7788

78-
void StandardNetworkManager::deleteResource(QString urlString, const QObject* context, QMap<QString, QString>, std::function<void(QByteArray)> const& handleRequest) {
89+
void StandardNetworkManager::deleteResource(QString urlString, QMap<QString, QString> headers, const QObject* context, std::function<void(QByteArray)> const& handleRequest) {
7990
QUrl url(urlString);
8091
QNetworkRequest request(url);
8192

8293
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
8394

95+
for (auto [key, value] : headers.asKeyValueRange()) {
96+
request.setRawHeader(key.toUtf8(), value.toUtf8());
97+
}
98+
8499
QObject::connect(&manager, &QNetworkAccessManager::finished, context, [handleRequest](auto reply) {
85100
handleRequest(reply->readAll());
86101
}, Qt::SingleShotConnection);

StandardNetworkManager.hpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@
1616

1717
class StandardNetworkManager: public AnyNetworkAccessManager {
1818
public:
19-
void get(QString, const QObject*, QMap<QString, QString>, std::function<void(QByteArray)> const&) override;
20-
void post(QString, PostParams, const QObject*, QMap<QString, QString>, std::function<void(QByteArray)> const&) override;
21-
void put(QString, PostParams, const QObject* context, QMap<QString, QString>, std::function<void(QByteArray)> const&) override;
22-
void deleteResource(QString, const QObject* context, QMap<QString, QString>, std::function<void(QByteArray)> const&) override;
19+
void get(QString, QMap<QString, QString>, const QObject*, std::function<void(QByteArray)> const&) override;
20+
void post(QString, QMap<QString, QString>, PostParams, const QObject*, std::function<void(QByteArray)> const&) override;
21+
void put(QString, QMap<QString, QString>, PostParams, const QObject* context, std::function<void(QByteArray)> const&) override;
22+
void deleteResource(QString, QMap<QString, QString>, const QObject* context, std::function<void(QByteArray)> const&) override;
2323

2424
private:
2525
QNetworkAccessManager manager;

0 commit comments

Comments
 (0)