@@ -18,6 +18,13 @@ namespace boost { namespace network { namespace http {
1818
1919struct request_pimpl {
2020explicit request_pimpl (std::stringconst & url) {}
21+ request_pimpl*clone () {
22+ return new (std::nothrow)request_pimpl (*this );
23+ }
24+
25+ private:
26+ request_pimpl (request_pimplconst &other)
27+ {}
2128};
2229
2330request::~request () {
@@ -28,6 +35,55 @@ request::request(std::string const & url)
2835: pimpl_(new request_pimpl(url))
2936{}
3037
38+ request::request (requestconst &other)
39+ : pimpl_(other.pimpl_->clone ())
40+ {}
41+
42+ request& request::operator =(request rhs) {
43+ rhs.swap (*this );
44+ }
45+
46+ void request::swap (request & other) {
47+ std::swap (this ->pimpl_ , other.pimpl_ );
48+ }
49+
50+ // From message_base...
51+ // Mutators
52+ void request::set_destination (std::stringconst & destination){}
53+ void request::set_source (std::stringconst & source){}
54+ void request::append_header (std::stringconst & name,
55+ std::stringconst & value){}
56+ void request::remove_headers (std::stringconst & name){}
57+ void request::remove_headers (){}
58+ void request::set_body (std::stringconst & body){}
59+ void request::append_body (std::stringconst & data){}
60+
61+ // Retrievers
62+ void request::get_destination (std::string & destination)const {}
63+ void request::get_source (std::string & source)const {}
64+ void request::get_headers (function<void (std::stringconst &, std::stringconst &)> inserter)const {}
65+ void request::get_headers (std::stringconst & name, function<void (std::stringconst &, std::stringconst &)> inserter)const {}
66+ void request::get_headers (function<bool (std::stringconst &, std::stringconst &)> predicate, function<void(std::stringconst &, std::stringconst &)> inserter)const {}
67+ void request::get_body (std::string & body)const {}
68+ void request::get_body (function<void (iterator_range<char const *>)> chunk_reader, size_t size)const {}
69+
70+ // From request_base...
71+ // Setters
72+ void request::set_method (std::stringconst & method){}
73+ void request::set_status (std::stringconst & status){}
74+ void request::set_status_message (std::stringconst & status_message){}
75+ void request::set_body_writer (function<void (char *,size_t )> writer){}
76+ void request::set_uri (std::stringconst &uri){}
77+ void request::set_uri (network::uri::uriconst &uri){}
78+
79+ // Getters
80+ void request::get_uri (network::uri::uri &uri)const {}
81+ void request::get_uri (std::string &uri)const {}
82+ void request::get_method (std::string & method)const {}
83+ void request::get_status (std::string & status)const {}
84+ void request::get_status_message (std::string & status_message)const {}
85+ void request::get_body (function<void (char *,size_t )> chunk_reader)const {}
86+ void request::get_body (std::stringconst & body)const {}
3187
3288}// namespace http
3389