@@ -43,35 +43,32 @@ impl Clone for IsahcClient {
4343#[ async_trait]
4444impl HttpClient for IsahcClient {
4545 async fn send ( & self , mut req : Request ) -> Result < Response , Error > {
46- let client = self . client . clone ( ) ;
47- Box :: pin ( async move {
48- let mut builder = http:: Request :: builder ( )
49- . uri ( req. url ( ) . as_str ( ) )
50- . method ( http:: Method :: from_bytes ( req. method ( ) . to_string ( ) . as_bytes ( ) ) . unwrap ( ) ) ;
51-
52- for ( name, value) in req. iter ( ) {
53- builder = builder. header ( name. as_str ( ) , value. as_str ( ) ) ;
54- }
55-
56- let body = req. take_body ( ) ;
57-
58- let body = match body. len ( ) {
59- Some ( len) => isahc:: Body :: from_reader_sized ( body, len as u64 ) ,
60- None => isahc:: Body :: from_reader ( body) ,
61- } ;
62-
63- let request = builder. body ( body) . unwrap ( ) ;
64- let res = client. send_async ( request) . await . map_err ( Error :: from) ?;
65- let ( parts, body) = res. into_parts ( ) ;
66- let len = body. len ( ) . map ( |len| len as usize ) ;
67- let body = Body :: from_reader ( BufReader :: new ( body) , len) ;
68- let mut response = http_types:: Response :: new ( parts. status . as_u16 ( ) ) ;
69- for ( name, value) in & parts. headers {
70- response. insert_header ( name. as_str ( ) , value. to_str ( ) . unwrap ( ) ) ;
71- }
72- response. set_body ( body) ;
73- Ok ( response)
74- } )
46+ let mut builder = http:: Request :: builder ( )
47+ . uri ( req. url ( ) . as_str ( ) )
48+ . method ( http:: Method :: from_bytes ( req. method ( ) . to_string ( ) . as_bytes ( ) ) . unwrap ( ) ) ;
49+
50+ for ( name, value) in req. iter ( ) {
51+ builder = builder. header ( name. as_str ( ) , value. as_str ( ) ) ;
52+ }
53+
54+ let body = req. take_body ( ) ;
55+
56+ let body = match body. len ( ) {
57+ Some ( len) => isahc:: Body :: from_reader_sized ( body, len as u64 ) ,
58+ None => isahc:: Body :: from_reader ( body) ,
59+ } ;
60+
61+ let request = builder. body ( body) . unwrap ( ) ;
62+ let res = self . client . send_async ( request) . await . map_err ( Error :: from) ?;
63+ let ( parts, body) = res. into_parts ( ) ;
64+ let len = body. len ( ) . map ( |len| len as usize ) ;
65+ let body = Body :: from_reader ( BufReader :: new ( body) , len) ;
66+ let mut response = http_types:: Response :: new ( parts. status . as_u16 ( ) ) ;
67+ for ( name, value) in & parts. headers {
68+ response. insert_header ( name. as_str ( ) , value. to_str ( ) . unwrap ( ) ) ;
69+ }
70+ response. set_body ( body) ;
71+ Ok ( response)
7572 }
7673}
7774
0 commit comments