QRODS
abstracthttpclient.h
1 #ifndef ABSTRACTHTTPCLIENT_H
2 #define ABSTRACTHTTPCLIENT_H
3 
4 #include <QObject>
5 #include <QNetworkAccessManager>
6 #include <QString>
7 #include <QByteArray>
8 #include <QNetworkRequest>
9 
10 enum HTTPOperation{
11  PUT,POST
12 };
13 
14 class AbstractHTTPClient : public QObject
15 {
16  Q_OBJECT
17 public:
18  explicit AbstractHTTPClient(QString &baseURL, QString user, QString pass, QObject *parent = 0);
19  QString baseURL();
20 
21  void setBaseURL(QString &str);
22  void setUserName(QString &str);
23  void setPassword(QString &str);
24  void setContentType(QString &str);
25 
26 protected:
27  QByteArray doGet(QString &url);
28  QByteArray doPut(QString &url, QByteArray &content);
29  QByteArray doPost(QString &url, QByteArray &content);
30  QByteArray doDelete(QString &url);
31 
32  QNetworkReply* doAsyncGet(QString &url);
33  QNetworkReply* doAsyncGet(QString &url, const char* accept);
34 
35  void prepareRequest(QNetworkRequest &request);
36 
37  QNetworkAccessManager *manager;
38 
39 
40 
41 private:
42 
43  QByteArray doHttpOperation(QString &url, QByteArray &content, HTTPOperation op);
44 
45  QString _baseURL;
46  QString _username;
47  QString _password;
48  QString _contentType;
49 signals:
50 
51 public slots:
52 
53 
54 };
55 
56 #endif // ABSTRACTHTTPCLIENT_H
void prepareRequest(QNetworkRequest &request)
AbstractHTTPClient::prepareRequest Prepares Requests.
Definition: abstracthttpclient.cpp:186
QNetworkReply * doAsyncGet(QString &url)
AbstractHTTPClient::doAsyncGet Asynchronous get operation.
Definition: abstracthttpclient.cpp:156
void setContentType(QString &str)
AbstractHTTPClient::setContentType Sets the MIME type.
Definition: abstracthttpclient.cpp:61
QString baseURL()
AbstractHTTPClient::baseURL Returns the base URL.
Definition: abstracthttpclient.cpp:30
AbstractHTTPClient(QString &baseURL, QString user, QString pass, QObject *parent=0)
AbstractHTTPClient::AbstractHTTPClient Constructor method.
Definition: abstracthttpclient.cpp:14
Definition: abstracthttpclient.h:14
QByteArray doPut(QString &url, QByteArray &content)
AbstractHTTPClient::doPut Put operation.
Definition: abstracthttpclient.cpp:103
QByteArray doGet(QString &url)
AbstractHTTPClient::doGet HTTP gets operation.
Definition: abstracthttpclient.cpp:72
QByteArray doPost(QString &url, QByteArray &content)
AbstractHTTPClient::doPost Post operation.
Definition: abstracthttpclient.cpp:116
QByteArray doDelete(QString &url)
AbstractHTTPClient::doDelete Delete operation.
Definition: abstracthttpclient.cpp:127
void setPassword(QString &str)
AbstractHTTPClient::setPassword Sets the password.
Definition: abstracthttpclient.cpp:50
void setUserName(QString &str)
AbstractHTTPClient::setUserName Sets user name.
Definition: abstracthttpclient.cpp:40