Repository navigation
Expand file tree
/
Copy pathihttpclient.h
More file actions
64 lines (51 loc) · 2.01 KB
/
Copy pathihttpclient.h
File metadata and controls
64 lines (51 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#ifndef IHTTPCLIENT_H
#define IHTTPCLIENT_H
#include <QObject>
#include <QHash>
#include "ipostpreparestrategyfactory.h"
struct ContentData
{
QString DataString;
QByteArray DataRaw;
QString ContentType;
QString FileName;
};
struct PostOptions
{
QString PrepareStrategy;
PostOptions();
};
class IPostPrepareStrategyFactory;
class IHttpClient : public QObject
{
Q_OBJECT
public:
explicit IHttpClient(QObject *parent = 0);
virtual void Get(const QString &url) = 0;
virtual void Download(const QString &url, const QString &file) = 0;
virtual void Post(const QString &url, const QHash<QString,QString> & params, const PostOptions & Options = PostOptions()) = 0;
virtual void Post(const QString &url, const QHash<QString,ContentData> & params, const PostOptions & Options = PostOptions()) = 0;
virtual bool WasError() = 0;
virtual QString GetErrorString() = 0;
virtual QString GetContent() = 0;
virtual QByteArray GetPageData() = 0;
virtual QString GetBase64() = 0;
virtual int GetStatus() = 0;
virtual QString GetLasturl() = 0;
virtual void Connect(QObject *object, const char * slot) = 0;
virtual void Disconnect() = 0;
virtual void Stop() = 0;
virtual QString GetHeader(const QString& header) = 0;
virtual void AddHeader(const QString& name,const QString& value) = 0;
virtual void CleanHeader() = 0;
virtual void SetProxy(const QString& server, int Port, bool IsHttp, const QString& name, const QString& password) = 0;
virtual QString GetCookiesForurl(/sitelet?url=https%3A%2F%2Fgithub.com%2Fmcdevjin%2FBAS%2Fblob%2Fmaster%2FRemoteExecuteScript%2Fconst%2520QString%26amp%3B%2520url) = 0;
virtual void SetPostPrepareStrategyFactory(IPostPrepareStrategyFactory* PostPrepareStrategyFactory) = 0;
virtual QString SaveCookies() = 0;
virtual void RestoreCookies(const QString& cookies) = 0;
signals:
void Finished();
void DownloadProgress(qint64 BytesReceived, qint64 BytesTotal);
public slots:
};
#endif // IHTTPCLIENT_H