@@ -74,11 +74,7 @@ impl HttpClient {
74
74
Host: {}\r \n \
75
75
Connection: keep-alive\r \n \
76
76
\r \n ", uri, host) ;
77
- #[ cfg( feature = "tokio" ) ]
78
- self . stream . write_all ( request. as_bytes ( ) ) . await ?;
79
- #[ cfg( not( feature = "tokio" ) ) ]
80
- self . stream . write_all ( request. as_bytes ( ) ) ?;
81
-
77
+ self . write_request ( request) . await ?;
82
78
let bytes = self . read_response ( ) . await ?;
83
79
F :: try_from ( bytes)
84
80
}
@@ -100,15 +96,25 @@ impl HttpClient {
100
96
Content-Length: {}\r \n \
101
97
\r \n \
102
98
{}", uri, host, auth, content. len( ) , content) ;
103
- #[ cfg( feature = "tokio" ) ]
104
- self . stream . write_all ( request. as_bytes ( ) ) . await ?;
105
- #[ cfg( not( feature = "tokio" ) ) ]
106
- self . stream . write_all ( request. as_bytes ( ) ) ?;
107
-
99
+ self . write_request ( request) . await ?;
108
100
let bytes = self . read_response ( ) . await ?;
109
101
F :: try_from ( bytes)
110
102
}
111
103
104
+ /// Writes an HTTP request message.
105
+ async fn write_request ( & mut self , request : String ) -> std:: io:: Result < ( ) > {
106
+ #[ cfg( feature = "tokio" ) ]
107
+ {
108
+ self . stream . write_all ( request. as_bytes ( ) ) . await ?;
109
+ self . stream . flush ( ) . await
110
+ }
111
+ #[ cfg( not( feature = "tokio" ) ) ]
112
+ {
113
+ self . stream . write_all ( request. as_bytes ( ) ) ?;
114
+ self . stream . flush ( )
115
+ }
116
+ }
117
+
112
118
/// Reads an HTTP response message.
113
119
async fn read_response ( & mut self ) -> std:: io:: Result < Vec < u8 > > {
114
120
#[ cfg( feature = "tokio" ) ]
0 commit comments