X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhttp%2Fclient.h;h=d79389a71d09bce9761243a56f255d019a2ddf97;hb=ede42d5bb352841e2e425972e12b8ef31ddf2123;hp=d617ffed6c06e023daff3fe0e2ca2c20ef2e1c1c;hpb=6df110603b3a1248f52741e9d68d0bd032171b60;p=libs%2Fnet.git diff --git a/source/http/client.h b/source/http/client.h index d617ffe..d79389a 100644 --- a/source/http/client.h +++ b/source/http/client.h @@ -1,6 +1,7 @@ #ifndef MSP_HTTP_CLIENT_H_ #define MSP_HTTP_CLIENT_H_ +#include #include #include #include @@ -10,12 +11,6 @@ namespace Msp { namespace Http { -class client_busy: public std::logic_error -{ -public: - client_busy(): std::logic_error(std::string()) { } -}; - class Request; class Response; @@ -36,20 +31,19 @@ private: void resolve_failed(unsigned, const std::exception &); }; - Net::StreamSocket *sock; - IO::EventDispatcher *event_disp; - Net::Resolver *resolver; - ResolveListener *resolve_listener; - unsigned resolve_tag; - std::string user_agent; - Request *request; - Response *response; + std::unique_ptr sock; + IO::EventDispatcher *event_disp = nullptr; + Net::Resolver *resolver = nullptr; + std::unique_ptr resolve_listener; + unsigned resolve_tag = 0; + std::string user_agent = "libmspnet/1.0"; + std::unique_ptr request; + std::unique_ptr response; std::string in_buf; Client(const Client &); Client &operator=(const Client &); public: - Client(); ~Client(); void use_event_dispatcher(IO::EventDispatcher *); @@ -60,8 +54,8 @@ public: void tick(); void wait_response(); void abort(); - const Request *get_request() const { return request; } - const Response *get_response() const { return response; } + const Request *get_request() const { return request.get(); } + const Response *get_response() const { return response.get(); } private: void address_resolved(unsigned, const Net::SockAddr &); void resolve_failed(unsigned, const std::exception &);