#ifndef RESTREQUEST_H #define RESTREQUEST_H #include <QJsonObject> #include <functional> class RestApi; class QNetworkReply; typedef std::function<void (QNetworkReply *,QJsonObject pData, RestApi*)> RestRequestCallback; class RestRequest { public: enum class methods { GET, POST }; RestRequest(QByteArray,QString, methods,RestRequestCallback); RestRequest(QByteArray,QString, methods,RestRequestCallback pSuccess, RestRequestCallback pError); methods getMethod() const; void setMethod(const methods &pValue); QString getPath() const; void setPath(const QString &pValue); QByteArray getContent() const; void setContent(const QByteArray &pValue); RestRequestCallback getSuccess() const; void setSuccess(const RestRequestCallback &pValue); RestRequestCallback getError() const; void setError(const RestRequestCallback &pValue); QString getMimeType() const; void setMimeType(const QString &pValue); bool isRawData(); bool getAbsolutePath() const; protected: RestRequest(); QByteArray mContent; QString mPath; methods mMethod; RestRequestCallback mSuccess = nullptr; RestRequestCallback mError = nullptr; QString mMimeType = "text/plain"; bool mAbsolutePath = false; bool mRawData = false; }; #endif // RESTREQUEST_H