Skip to content

Commit a1bbace

Browse files
committed
WIP: Make the request type build.
This commit makes the request.ipp/cpp files build without having to do anything. The innards of the implementation are yet to be defined.
1 parent 29ec303 commit a1bbace

File tree

3 files changed

+57
-4
lines changed

3 files changed

+57
-4
lines changed

boost/network/protocol/http/request/request.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ struct request : request_base {
6868

6969
virtual ~request();
7070
private:
71-
scoped_ptr<request_pimpl> pimpl_;
71+
request_pimpl* pimpl_;
7272
};
7373

7474
template <class Directive>

boost/network/protocol/http/request/request.ipp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ namespace boost { namespace network { namespace http {
1818

1919
struct request_pimpl {
2020
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+
{}
2128
};
2229

2330
request::~request() {
@@ -28,6 +35,55 @@ request::request(std::string const & url)
2835
: pimpl_(new request_pimpl(url))
2936
{}
3037

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{}
3187

3288
} // namespace http
3389

libs/network/src/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ add_library(cppnetlib-uri ${CPP-NETLIB_URI_SRCS})
1414
set(CPP-NETLIB_HTTP_SERVER_SRCS server_request_parsers_impl.cpp)
1515
add_library(cppnetlib-server-parsers ${CPP-NETLIB_HTTP_SERVER_SRCS})
1616

17-
set(CPP-NETLIB_HTTP_CLIENT_SRCS client.cpp)
18-
add_library(cppnetlib-client-connections ${CPP-NETLIB_HTTP_CLIENT_SRCS})
19-
2017
set(CPP-NETLIB_MESSAGE_SRCS message/message.cpp)
2118
add_library(cppnetlib-message ${CPP-NETLIB_MESSAGE_SRCS})
2219

0 commit comments

Comments
 (0)