#pragma once #include "HTTPSClient.h" #include "HTTPRequest.h" #include "Connection.h" template class ConnectionClient : public HTTPSClient { public: virtual bool valid() const override; virtual HTTPSClient::Reply request(const HTTPSClient::Request &req) override; private: static Connection *factory(); }; template bool ConnectionClient::valid() const { return Connection::valid(); } template Connection *ConnectionClient::factory() { return new Connection(); } template HTTPSClient::Reply ConnectionClient::request(const HTTPSClient::Request &req) { HTTPRequest request(factory); return request.request(req); }