Skip to content

Commit 0e4c86d

Browse files
committed
Merge branch '0.7-devel' of git://github.com/mikhailberis/cpp-netlib into 0.7-devel
2 parents b10161e + 094683a commit 0e4c86d

File tree

8 files changed

+27
-43
lines changed

8 files changed

+27
-43
lines changed

boost/network/protocol/http/client/async_impl.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ namespace boost { namespace network { namespace http {
2121
struct async_client :
2222
connection_policy<Tag,version_major,version_minor>::type
2323
{
24-
protected:
2524
typedef
2625
typename connection_policy<Tag,version_major,version_minor>::type
2726
connection_base;
@@ -55,8 +54,6 @@ namespace boost { namespace network { namespace http {
5554
lifetime_thread_.reset();
5655
}
5756

58-
friend struct basic_client_impl<Tag,version_major,version_minor>;
59-
6057
basic_response<Tag> const request_skeleton(
6158
basic_request<Tag> const & request_,
6259
string_type const & method,

boost/network/protocol/http/client/pimpl.hpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ namespace boost { namespace network { namespace http {
3030
struct sync_client :
3131
connection_policy<Tag, version_major, version_minor>::type
3232
{
33-
protected:
3433
typedef typename string<Tag>::type string_type;
3534
typedef typename connection_policy<Tag,version_major,version_minor>::type connection_base;
3635
typedef typename resolver<Tag>::type resolver_type;
@@ -45,6 +44,8 @@ namespace boost { namespace network { namespace http {
4544
resolver_(service_)
4645
{}
4746

47+
~sync_client() {}
48+
4849
basic_response<Tag> const request_skeleton(basic_request<Tag> const & request_, string_type method, bool get_body) {
4950
typename connection_base::connection_ptr connection_;
5051
connection_ = connection_base::get_connection(resolver_, request_);
@@ -80,9 +81,6 @@ namespace boost { namespace network { namespace http {
8081
>::value
8182
));
8283

83-
private:
84-
friend struct basic_client<Tag,version_major,version_minor>;
85-
template <class T> friend inline void boost::checked_delete<T>(T*);
8684
typedef typename impl::client_base<Tag,version_major,version_minor>::type base_type;
8785
basic_client_impl(bool cache_resolved, bool follow_redirect)
8886
: base_type(cache_resolved, follow_redirect)

boost/network/protocol/http/client/sync_impl.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ namespace boost { namespace network { namespace http {
1616
struct sync_client :
1717
connection_policy<Tag,version_major,version_minor>::type
1818
{
19-
protected:
2019
typedef
2120
typename connection_policy<Tag,version_major,version_minor>::type
2221
connection_base;
@@ -30,8 +29,6 @@ namespace boost { namespace network { namespace http {
3029
connection_base::cleanup();
3130
}
3231

33-
friend struct basic_client_impl<Tag,version_major,version_minor>;
34-
3532
basic_response<Tag> const request_skeleton(basic_request<Tag> const & request_, string_type method, bool get_body) {
3633
typename connection_base::connection_ptr connection_;
3734
connection_ = connection_base::get_connection(resolver_, request_);

boost/network/protocol/http/message/directives/uri.hpp

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,32 @@ namespace boost { namespace network { namespace http {
1515
template <class Tag>
1616
class basic_request;
1717

18-
template <class Tag>
19-
struct uri_directive {
18+
namespace impl {
19+
20+
template <class Tag>
21+
struct uri_directive {
22+
23+
typedef typename string<Tag>::type string_type;
2024

21-
typedef typename string<Tag>::type string_type;
25+
string_type uri_;
2226

23-
mutable string_type uri_;
27+
explicit uri_directive(string_type const & uri)
28+
: uri_(uri) {}
2429

25-
uri_directive(string_type const & uri)
26-
: uri_(uri) {}
30+
uri_directive(uri_directive const & other)
31+
: uri_(other.uri_) {}
2732

28-
uri_directive(uri_directive const & other)
29-
: uri_(other.uri_) {}
33+
template <class T> basic_request<T> const & operator() (basic_request<T> const & request) const {
34+
request.uri(uri_);
35+
return request;
36+
}
3037

31-
template <class T> basic_request<T> const & operator() (basic_request<T> const & request) const {
32-
request.uri(uri_);
33-
return request;
34-
}
38+
};
3539

36-
};
40+
} // namespace impl
3741

38-
inline uri_directive<tags::default_> const uri(string<tags::default_>::type const & uri_) {
39-
return uri_directive<tags::default_>(uri_);
42+
inline impl::uri_directive<tags::default_> const uri(string<tags::default_>::type const & uri_) {
43+
return impl::uri_directive<tags::default_>(uri_);
4044
}
4145

4246
} // namespace http

boost/network/protocol/http/message/modifiers/uri.hpp

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,9 @@ namespace boost { namespace network { namespace http {
1515
template <class Tag>
1616
class basic_request;
1717

18-
namespace impl {
19-
20-
template <class Tag, class T>
21-
void uri(basic_request<Tag> & response, T const & value, mpl::false_ const &) {
22-
response << boost::network::http::uri(value);
23-
}
24-
25-
template <class Tag, class T>
26-
void uri(basic_request<Tag> & response, T const & future, mpl::true_ const &) {
27-
response.uri(future);
28-
}
29-
30-
} // namespace impl
31-
3218
template <class Tag, class T>
33-
void uri(basic_request<Tag> & response, T const & value) {
34-
impl::uri(response, value, is_async<Tag>());
19+
void uri(basic_request<Tag> & request, T const & value) {
20+
request.uri(value);
3521
}
3622

3723
} // namespace http

boost/network/protocol/http/request.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
#include <boost/network/message/wrappers.hpp>
1515
#include <boost/network/protocol/http/message/directives/uri.hpp>
1616
#include <boost/network/protocol/http/message/modifiers/uri.hpp>
17+
#include <boost/network/protocol/http/message/wrappers/uri.hpp>
18+
1719
#include <boost/network/protocol/http/message/wrappers/host.hpp>
1820
#include <boost/network/protocol/http/message/wrappers/headers.hpp>
1921
#include <boost/network/protocol/http/message/wrappers/path.hpp>
2022
#include <boost/network/protocol/http/message/wrappers/port.hpp>
2123
#include <boost/network/protocol/http/message/wrappers/query.hpp>
2224
#include <boost/network/protocol/http/message/wrappers/anchor.hpp>
2325
#include <boost/network/protocol/http/message/wrappers/protocol.hpp>
24-
#include <boost/network/protocol/http/message/wrappers/uri.hpp>
2526
#include <boost/network/protocol/http/message/wrappers/body.hpp>
2627
#include <boost/network/protocol/http/message/wrappers/version.hpp>
2728
#include <boost/network/message/directives.hpp>

boost/network/protocol/http/request_concept.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ namespace boost { namespace network { namespace http {
3434

3535
request << uri(string_type());
3636

37-
uri(request, string_type());
37+
boost::network::http::uri(request, string_type());
3838

3939
(void)host_;
4040
(void)port_;

boost/network/protocol/http/response.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <boost/network/protocol/http/message/directives/status.hpp>
2020
#include <boost/network/protocol/http/message/directives/uri.hpp>
2121

22+
#include <boost/network/protocol/http/message/modifiers/uri.hpp>
2223
#include <boost/network/protocol/http/message/modifiers/version.hpp>
2324
#include <boost/network/protocol/http/message/modifiers/status.hpp>
2425
#include <boost/network/protocol/http/message/modifiers/status_message.hpp>

0 commit comments

Comments
 (0)