HTTP subsystem refactoring.
This commit is contained in:
parent
5486300db7
commit
cad5fef1ea
25 changed files with 474 additions and 216 deletions
|
@ -28,8 +28,9 @@
|
|||
#define XMRIG_HTTPCLIENT_H
|
||||
|
||||
|
||||
#include "base/net/http/HttpContext.h"
|
||||
#include "base/kernel/interfaces/IDnsListener.h"
|
||||
#include "base/net/http/Fetch.h"
|
||||
#include "base/net/http/HttpContext.h"
|
||||
#include "base/tools/Object.h"
|
||||
|
||||
|
||||
|
@ -44,14 +45,14 @@ class HttpClient : public HttpContext, public IDnsListener
|
|||
public:
|
||||
XMRIG_DISABLE_COPY_MOVE_DEFAULT(HttpClient);
|
||||
|
||||
HttpClient(int method, const String &url, const std::weak_ptr<IHttpListener> &listener, const char *data = nullptr, size_t size = 0);
|
||||
HttpClient(FetchRequest &&req, const std::weak_ptr<IHttpListener> &listener);
|
||||
~HttpClient() override;
|
||||
|
||||
inline uint16_t port() const { return m_port; }
|
||||
inline void setQuiet(bool quiet) { m_quiet = quiet; }
|
||||
inline bool isQuiet() const { return m_req.quiet; }
|
||||
inline const char *host() const override { return m_req.host; }
|
||||
inline uint16_t port() const override { return m_req.port; }
|
||||
|
||||
bool connect(const String &host, uint16_t port);
|
||||
const String &host() const;
|
||||
bool connect();
|
||||
|
||||
protected:
|
||||
void onResolved(const Dns &dns, int status) override;
|
||||
|
@ -60,13 +61,14 @@ protected:
|
|||
virtual void read(const char *data, size_t size);
|
||||
virtual void write(const std::string &header);
|
||||
|
||||
bool m_quiet = false;
|
||||
protected:
|
||||
inline const FetchRequest &req() const { return m_req; }
|
||||
|
||||
private:
|
||||
static void onConnect(uv_connect_t *req, int status);
|
||||
|
||||
Dns *m_dns;
|
||||
uint16_t m_port = 0;
|
||||
FetchRequest m_req;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue