#pragma once #include "IBaseCurl.h" #include #include "comm.h" #define TIMEOUTE 60 * 1000 class CNetWork : public IBaseCurl { public: CNetWork(); ~CNetWork(void); HTTPRET GetServerNode(std::string& data); HTTPRET PostLogin(LPCSTR username, LPCSTR password, std::string& data); HTTPRET PostReg(LPCSTR username, LPCSTR password, std::string& data); HTTPRET GetSysConfigFromUser(LPCSTR username, LPCSTR password, std::string& data); HTTPRET GetSysConfig(std::string& data); void SetUrl(LPCSTR url); SStringA GetLastErrorA(); SStringW GetLastErrorW(); bool Download(std::string path); // HTTPRET Auth(std::string& data); HTTPRET Refresh(std::string& data); int GetHttpStatus(); HTTPRET Version(std::string& data); private: std::string GetUrl(std::string path, std::vector parame, std::string token = ""); std::string PostUrl(std::string path, std::vector parame,std::string token = ""); std::string Retrying(std::string path, std::vector parame, std::string token = ""); void Init(); void UnInit(); std::string UpdateError(cpr::ErrorCode code,std::string msg); void initSessionPool(int szie); void DestoryOneConnSessionPool(); std::shared_ptr GetSession(); void pullSession(std::shared_ptr &p); private: std::mutex m_mutx; std::vector vectorBaseurl; std::vector> m_session_vect; std::unordered_map keymap; cpr::Session m_session; std::string m_error_msg; HTTPRET m_http_ret; int m_http_status; std::string m_url; };