libiqxmlrpc  0.12.4
 All Classes Namespaces Files Functions Typedefs Enumerations
http_client.h
1 // Libiqxmlrpc - an object-oriented XML-RPC solution.
2 // Copyright (C) 2011 Anton Dedov
3 
4 #ifndef _libiqxmlrpc_http_client_h_
5 #define _libiqxmlrpc_http_client_h_
6 
7 #include "client.h"
8 #include "client_conn.h"
9 #include "connector.h"
10 #include "reactor.h"
11 
12 namespace iqxmlrpc
13 {
14 
15 class Http_proxy_client_connection;
16 
18 class LIBIQXMLRPC_API Http_client_connection:
20  public iqnet::Connection
21 {
22  std::auto_ptr<iqnet::Reactor_base> reactor;
23  std::string out_str;
24  http::Packet* resp_packet;
25 
26 public:
28 
29  Http_client_connection( const iqnet::Socket&, bool non_block );
30 
31  void handle_input( bool& );
32  void handle_output( bool& );
33 
34 protected:
35  http::Packet* do_process_session( const std::string& );
36 };
37 
40 class LIBIQXMLRPC_API Http_proxy_client_connection:
42 {
43 public:
44  Http_proxy_client_connection( const iqnet::Socket& s, bool non_block ):
45  Http_client_connection( s, non_block ) {}
46 
47 private:
48  virtual std::string decorate_uri() const;
49 };
50 
51 } // namespace iqxmlrpc
52 
53 #endif
54 // vim:ts=2:sw=2:et