Mercurial > minori
comparison include/core/http.h @ 230:2f5a9247e501
torrents: implement download button
erg
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Sat, 13 Jan 2024 09:42:02 -0500 |
parents | f5940a575d83 |
children | 4d461ef7d424 |
comparison
equal
deleted
inserted
replaced
229:adc20fa321c1 | 230:2f5a9247e501 |
---|---|
1 #ifndef __core__http_h | 1 #ifndef __core__http_h |
2 #define __core__http_h | 2 #define __core__http_h |
3 | 3 |
4 #include <QByteArray> | 4 #include <QByteArray> |
5 #include <QThread> | |
5 #include <string> | 6 #include <string> |
6 #include <vector> | 7 #include <vector> |
7 | 8 |
8 namespace HTTP { | 9 namespace HTTP { |
9 | 10 |
10 QByteArray Get(const std::string& url, const std::vector<std::string>& headers = {}); | 11 QByteArray Get(const std::string& url, const std::vector<std::string>& headers = {}); |
11 QByteArray Post(const std::string& url, const std::string& data, const std::vector<std::string>& headers = {}); | 12 QByteArray Post(const std::string& url, const std::string& data, const std::vector<std::string>& headers = {}); |
12 | 13 |
14 class GetThread : public QThread { | |
15 Q_OBJECT | |
16 | |
17 public: | |
18 GetThread(const std::string& u, const std::vector<std::string>& h = {}) { | |
19 url = u; | |
20 headers = h; | |
21 } | |
22 | |
23 signals: | |
24 void ReceivedData(const QByteArray& ba); | |
25 | |
26 protected: | |
27 void run() override { | |
28 emit ReceivedData(Get(url, headers)); | |
29 } | |
30 | |
31 std::string url; | |
32 std::vector<std::string> headers; | |
33 }; | |
34 | |
35 class PostThread : public QThread { | |
36 Q_OBJECT | |
37 | |
38 public: | |
39 PostThread(const std::string& u, const std::string& d, const std::vector<std::string>& h = {}) { | |
40 url = u; | |
41 data = d; | |
42 headers = h; | |
43 } | |
44 | |
45 signals: | |
46 void ReceivedData(const QByteArray& ba); | |
47 | |
48 protected: | |
49 void run() override { | |
50 emit ReceivedData(Post(url, data, headers)); | |
51 } | |
52 | |
53 std::string url; | |
54 std::string data; | |
55 std::vector<std::string> headers; | |
56 }; | |
57 | |
13 } // namespace HTTP | 58 } // namespace HTTP |
14 | 59 |
15 #endif // __core__http_h | 60 #endif // __core__http_h |