2018-07-07 13:08:57 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <functional>
|
2021-04-17 13:49:19 +02:00
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include <QString>
|
2018-07-07 13:08:57 +02:00
|
|
|
|
|
|
|
class QNetworkReply;
|
|
|
|
|
|
|
|
namespace chatterino {
|
|
|
|
|
2018-08-11 22:23:06 +02:00
|
|
|
class Outcome;
|
2018-07-07 13:08:57 +02:00
|
|
|
class NetworkResult;
|
|
|
|
|
2018-08-02 14:23:27 +02:00
|
|
|
using NetworkSuccessCallback = std::function<Outcome(NetworkResult)>;
|
2019-09-19 19:03:50 +02:00
|
|
|
using NetworkErrorCallback = std::function<void(NetworkResult)>;
|
2018-07-07 13:08:57 +02:00
|
|
|
using NetworkReplyCreatedCallback = std::function<void(QNetworkReply *)>;
|
2021-01-16 18:25:56 +01:00
|
|
|
using NetworkFinallyCallback = std::function<void()>;
|
2018-07-07 13:08:57 +02:00
|
|
|
|
|
|
|
enum class NetworkRequestType {
|
|
|
|
Get,
|
|
|
|
Post,
|
|
|
|
Put,
|
|
|
|
Delete,
|
2021-04-04 17:31:08 +02:00
|
|
|
Patch,
|
2018-07-07 13:08:57 +02:00
|
|
|
};
|
|
|
|
|
2021-04-17 13:49:19 +02:00
|
|
|
// parseHeaderList takes a list of headers in string form,
|
|
|
|
// where each header pair is separated by semicolons (;) and the header name and value is divided by a colon (:)
|
|
|
|
//
|
|
|
|
// We return a vector of pairs, where the first value is the header name and the second value is the header value
|
|
|
|
//
|
|
|
|
// e.g. "Authorization:secretkey;NextHeader:boo" will return [{"Authorization", "secretkey"}, {"NextHeader", "boo"}]
|
|
|
|
std::vector<std::pair<QByteArray, QByteArray>> parseHeaderList(
|
|
|
|
const QString &headerListString);
|
|
|
|
|
2018-07-07 13:08:57 +02:00
|
|
|
} // namespace chatterino
|