File tree Expand file tree Collapse file tree 2 files changed +15
-5
lines changed Expand file tree Collapse file tree 2 files changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -290,6 +290,14 @@ impl Error {
290
290
. into ( )
291
291
}
292
292
293
+ #[ cfg( feature = "dns-resolver" ) ]
294
+ pub ( crate ) fn from_resolve_proto_error ( error : hickory_proto:: error:: ProtoError ) -> Self {
295
+ ErrorKind :: DnsResolve {
296
+ message : error. to_string ( ) ,
297
+ }
298
+ . into ( )
299
+ }
300
+
293
301
pub ( crate ) fn is_non_timeout_network_error ( & self ) -> bool {
294
302
matches ! ( self . kind. as_ref( ) , ErrorKind :: Io ( ref io_err) if io_err. kind( ) != std:: io:: ErrorKind :: TimedOut )
295
303
}
Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ use hickory_resolver::{
2
2
config:: ResolverConfig ,
3
3
error:: ResolveErrorKind ,
4
4
lookup:: { SrvLookup , TxtLookup } ,
5
- IntoName ,
5
+ Name ,
6
6
} ;
7
7
8
8
use crate :: error:: { Error , Result } ;
@@ -25,17 +25,19 @@ impl AsyncResolver {
25
25
}
26
26
27
27
impl AsyncResolver {
28
- pub async fn srv_lookup < N : IntoName > ( & self , query : N ) -> Result < SrvLookup > {
28
+ pub async fn srv_lookup ( & self , query : & str ) -> Result < SrvLookup > {
29
+ let name = Name :: from_str_relaxed ( query) . map_err ( Error :: from_resolve_proto_error) ?;
29
30
let lookup = self
30
31
. resolver
31
- . srv_lookup ( query )
32
+ . srv_lookup ( name )
32
33
. await
33
34
. map_err ( Error :: from_resolve_error) ?;
34
35
Ok ( lookup)
35
36
}
36
37
37
- pub async fn txt_lookup < N : IntoName > ( & self , query : N ) -> Result < Option < TxtLookup > > {
38
- let lookup_result = self . resolver . txt_lookup ( query) . await ;
38
+ pub async fn txt_lookup ( & self , query : & str ) -> Result < Option < TxtLookup > > {
39
+ let name = Name :: from_str_relaxed ( query) . map_err ( Error :: from_resolve_proto_error) ?;
40
+ let lookup_result = self . resolver . txt_lookup ( name) . await ;
39
41
match lookup_result {
40
42
Ok ( lookup) => Ok ( Some ( lookup) ) ,
41
43
Err ( e) => match e. kind ( ) {
You can’t perform that action at this time.
0 commit comments