HTTPSClient.h 613 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <cstdint>
  3. #include <string>
  4. #include <map>
  5. class HTTPSClient
  6. {
  7. public:
  8. struct ci_string_less
  9. {
  10. bool operator()(const std::string &lhs, const std::string &rhs) const;
  11. };
  12. using header_map = std::map<std::string, std::string, ci_string_less>;
  13. struct Request
  14. {
  15. Request(const std::string &url);
  16. header_map headers;
  17. std::string url;
  18. std::string postdata;
  19. std::string method;
  20. };
  21. struct Reply
  22. {
  23. header_map headers;
  24. std::string body;
  25. int responseCode;
  26. };
  27. virtual ~HTTPSClient() {}
  28. virtual bool valid() const = 0;
  29. virtual Reply request(const Request &req) = 0;
  30. };