88
99#include < utility>
1010#include < boost/asio.hpp>
11+ #include < boost/network/protocol/http/traits/resolver.hpp>
1112
1213namespace boost {namespace network {namespace http {namespace policies {
1314
1415template <class Tag >
1516struct sync_resolver {
1617
17- typedef boost::asio::ip::tcp::resolver resolver_type;
18+ typedef typename resolver<Tag>::type resolver_type;
19+ typedef typename resolver_type::iterator resolver_iterator;
20+ typedef typename resolver_type::query resolver_query;
1821
1922protected:
2023
2124typedef std::pair<
22- boost::asio::ip::tcp::resolver::iterator ,
23- boost::asio::ip::tcp::resolver::iterator
25+ resolver_iterator ,
26+ resolver_iterator
2427 > resolver_iterator_pair;
2528typedef typename string<Tag>::type string_type;
2629typedef std::map<string_type, resolver_iterator_pair> resolved_cache;
@@ -41,13 +44,13 @@ namespace boost { namespace network { namespace http { namespace policies {
4144 hostname,
4245std::make_pair (
4346 resolver_.resolve (
44- boost::asio::ip::tcp::resolver::query (
47+ resolver_query (
4548 hostname,
4649 port,
47- boost::asio::ip::tcp:: resolver_query::numeric_service
50+ resolver_query::numeric_service
4851 )
4952 )
50- ,boost::asio::ip::tcp::resolver::iterator ()
53+ ,resolver_iterator ()
5154 )
5255 )
5356 );
@@ -57,14 +60,14 @@ namespace boost { namespace network { namespace http { namespace policies {
5760
5861return std::make_pair (
5962 resolver_.resolve (
60- boost::asio::ip::tcp::resolver::query (
63+ resolver_query (
6164 hostname,
6265 port,
63- boost::asio::ip::tcp:: resolver_query::numeric_service
66+ resolver_query::numeric_service
6467 )
6568 )
6669 ,
67- boost::asio::ip::tcp::resolver::iterator ()
70+ resolver_iterator ()
6871 );
6972 };
7073