Files
wino-mail-dtkqt/include/request.h
T

63 lines
1.2 KiB
C++

#ifndef REQUEST_H
#define REQUEST_H
#include <QObject>
#include <QUrl>
#include <QMap>
#include <QByteArray>
#include <QNetworkRequest>
enum class RequestType {
GmailApi,
GraphApi,
Imap,
Custom
};
class Request : public QObject
{
Q_OBJECT
public:
enum class Method {
GET,
POST,
PUT,
DELETE,
PATCH
};
explicit Request(QObject *parent = nullptr);
Request(Method method, const QUrl &url, const QByteArray &body = QByteArray());
~Request() override = default;
void setMethod(Method method);
Method method() const;
void setUrl(const QUrl &url);
QUrl url() const;
void setHeader(const QString &key, const QString &value);
QMap<QString, QString> headers() const;
void setBody(const QByteArray &body);
QByteArray body() const;
void setType(RequestType type);
RequestType type() const;
void setAccountId(const QString &accountId);
QString accountId() const;
QNetworkRequest toNetworkRequest() const;
private:
Method m_method = Method::GET;
QUrl m_url;
QMap<QString, QString> m_headers;
QByteArray m_body;
RequestType m_requestType = RequestType::Custom;
QString m_accountId;
};
#endif // REQUEST_H