HTTPRequest.h 518 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <functional>
  3. #include "HTTPSClient.h"
  4. #include "Connection.h"
  5. class HTTPRequest
  6. {
  7. public:
  8. struct DissectedURL
  9. {
  10. bool valid;
  11. std::string schema;
  12. std::string hostname;
  13. uint16_t port;
  14. std::string query;
  15. // TODO: Auth?
  16. };
  17. typedef std::function<Connection *()> ConnectionFactory;
  18. HTTPRequest(ConnectionFactory factory);
  19. HTTPSClient::Reply request(const HTTPSClient::Request &req);
  20. static DissectedURL parseUrl(const std::string &url);
  21. private:
  22. ConnectionFactory factory;
  23. };