8
8
9
9
#include < utility>
10
10
#include < boost/asio.hpp>
11
+ #include < boost/network/protocol/http/traits/resolver.hpp>
11
12
12
13
namespace boost { namespace network { namespace http { namespace policies {
13
14
14
15
template <class Tag >
15
16
struct sync_resolver {
16
17
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;
18
21
19
22
protected:
20
23
21
24
typedef std::pair<
22
- boost::asio::ip::tcp::resolver::iterator ,
23
- boost::asio::ip::tcp::resolver::iterator
25
+ resolver_iterator ,
26
+ resolver_iterator
24
27
> resolver_iterator_pair;
25
28
typedef typename string<Tag>::type string_type;
26
29
typedef std::map<string_type, resolver_iterator_pair> resolved_cache;
@@ -41,13 +44,13 @@ namespace boost { namespace network { namespace http { namespace policies {
41
44
hostname,
42
45
std::make_pair (
43
46
resolver_.resolve (
44
- boost::asio::ip::tcp::resolver::query (
47
+ resolver_query (
45
48
hostname,
46
49
port,
47
- boost::asio::ip::tcp:: resolver_query::numeric_service
50
+ resolver_query::numeric_service
48
51
)
49
52
)
50
- , boost::asio::ip::tcp::resolver::iterator ()
53
+ , resolver_iterator ()
51
54
)
52
55
)
53
56
);
@@ -57,14 +60,14 @@ namespace boost { namespace network { namespace http { namespace policies {
57
60
58
61
return std::make_pair (
59
62
resolver_.resolve (
60
- boost::asio::ip::tcp::resolver::query (
63
+ resolver_query (
61
64
hostname,
62
65
port,
63
- boost::asio::ip::tcp:: resolver_query::numeric_service
66
+ resolver_query::numeric_service
64
67
)
65
68
)
66
69
,
67
- boost::asio::ip::tcp::resolver::iterator ()
70
+ resolver_iterator ()
68
71
);
69
72
};
70
73
0 commit comments