File tree 1 file changed +8
-2
lines changed
1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -66,6 +66,7 @@ pub struct HttpConnector<R = GaiResolver> {
66
66
#[ derive( Clone , Debug ) ]
67
67
pub struct HttpInfo {
68
68
remote_addr : SocketAddr ,
69
+ local_addr : SocketAddr ,
69
70
}
70
71
71
72
#[ derive( Clone ) ]
@@ -360,8 +361,8 @@ where
360
361
impl Connection for TcpStream {
361
362
fn connected ( & self ) -> Connected {
362
363
let connected = Connected :: new ( ) ;
363
- if let Ok ( remote_addr) = self . peer_addr ( ) {
364
- connected. extra ( HttpInfo { remote_addr } )
364
+ if let ( Ok ( remote_addr) , Ok ( local_addr ) ) = ( self . peer_addr ( ) , self . local_addr ( ) ) {
365
+ connected. extra ( HttpInfo { remote_addr, local_addr } )
365
366
} else {
366
367
connected
367
368
}
@@ -373,6 +374,11 @@ impl HttpInfo {
373
374
pub fn remote_addr ( & self ) -> SocketAddr {
374
375
self . remote_addr
375
376
}
377
+
378
+ /// Get the local address of the transport used.
379
+ pub fn local_addr ( & self ) -> SocketAddr {
380
+ self . local_addr
381
+ }
376
382
}
377
383
378
384
pin_project ! {
You can’t perform that action at this time.
0 commit comments