CNetWork.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #pragma once
  2. #include "IBaseCurl.h"
  3. #include <cpr/cpr.h>
  4. #include "comm.h"
  5. #define TIMEOUTE 60 * 1000
  6. class CNetWork : public IBaseCurl
  7. {
  8. public:
  9. CNetWork();
  10. ~CNetWork(void);
  11. HTTPRET GetServerNode(std::string& data);
  12. HTTPRET PostLogin(LPCSTR username, LPCSTR password, std::string& data);
  13. HTTPRET PostReg(LPCSTR username, LPCSTR password, std::string& data);
  14. HTTPRET GetSysConfigFromUser(LPCSTR username, LPCSTR password, std::string& data);
  15. HTTPRET GetSysConfig(std::string& data);
  16. void SetUrl(LPCSTR url);
  17. SStringA GetLastErrorA();
  18. SStringW GetLastErrorW();
  19. bool Download(std::string path);
  20. //
  21. HTTPRET Auth(std::string& data);
  22. HTTPRET Refresh(std::string& data);
  23. int GetHttpStatus();
  24. HTTPRET Version(std::string& data);
  25. private:
  26. std::string GetUrl(std::string path, std::vector<cpr::Parameter> parame, std::string token = "");
  27. std::string PostUrl(std::string path, std::vector<cpr::Pair> parame,std::string token = "");
  28. std::string Retrying(std::string path, std::vector<cpr::Parameter> parame, std::string token = "");
  29. void Init();
  30. void UnInit();
  31. std::string UpdateError(cpr::ErrorCode code,std::string msg);
  32. void initSessionPool(int szie);
  33. void DestoryOneConnSessionPool();
  34. std::shared_ptr<cpr::Session> GetSession();
  35. void pullSession(std::shared_ptr<cpr::Session> &p);
  36. private:
  37. std::mutex m_mutx;
  38. std::vector<std::string> vectorBaseurl;
  39. std::vector<std::shared_ptr<cpr::Session>> m_session_vect;
  40. std::unordered_map<std::string, std::string> keymap;
  41. cpr::Session m_session;
  42. std::string m_error_msg;
  43. HTTPRET m_http_ret;
  44. int m_http_status;
  45. std::string m_url;
  46. };