ConnectionClient.h 746 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "HTTPSClient.h"
  3. #include "HTTPRequest.h"
  4. #include "Connection.h"
  5. template<typename Connection>
  6. class ConnectionClient : public HTTPSClient
  7. {
  8. public:
  9. virtual bool valid() const override;
  10. virtual HTTPSClient::Reply request(const HTTPSClient::Request &req) override;
  11. private:
  12. static Connection *factory();
  13. };
  14. template<typename Connection>
  15. bool ConnectionClient<Connection>::valid() const
  16. {
  17. return Connection::valid();
  18. }
  19. template<typename Connection>
  20. Connection *ConnectionClient<Connection>::factory()
  21. {
  22. return new Connection();
  23. }
  24. template<typename Connection>
  25. HTTPSClient::Reply ConnectionClient<Connection>::request(const HTTPSClient::Request &req)
  26. {
  27. HTTPRequest request(factory);
  28. return request.request(req);
  29. }