@@ -18,6 +18,13 @@ namespace boost { namespace network { namespace http {
18
18
19
19
struct request_pimpl {
20
20
explicit request_pimpl (std::string const & url) {}
21
+ request_pimpl* clone () {
22
+ return new (std::nothrow) request_pimpl (*this );
23
+ }
24
+
25
+ private:
26
+ request_pimpl (request_pimpl const &other)
27
+ {}
21
28
};
22
29
23
30
request::~request () {
@@ -28,6 +35,55 @@ request::request(std::string const & url)
28
35
: pimpl_(new request_pimpl(url))
29
36
{}
30
37
38
+ request::request (request const &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::string const & destination){}
53
+ void request::set_source (std::string const & source){}
54
+ void request::append_header (std::string const & name,
55
+ std::string const & value){}
56
+ void request::remove_headers (std::string const & name){}
57
+ void request::remove_headers (){}
58
+ void request::set_body (std::string const & body){}
59
+ void request::append_body (std::string const & 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::string const &, std::string const &)> inserter) const {}
65
+ void request::get_headers (std::string const & name, function<void (std::string const &, std::string const &)> inserter) const {}
66
+ void request::get_headers (function<bool (std::string const &, std::string const &)> predicate, function<void(std::string const &, std::string const &)> 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::string const & method){}
73
+ void request::set_status (std::string const & status){}
74
+ void request::set_status_message (std::string const & status_message){}
75
+ void request::set_body_writer (function<void (char *, size_t )> writer){}
76
+ void request::set_uri (std::string const &uri){}
77
+ void request::set_uri (network::uri::uri const &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::string const & body) const {}
31
87
32
88
} // namespace http
33
89
0 commit comments