@@ -4,8 +4,6 @@ use std::net::SocketAddr;
4
4
5
5
use bytes:: Bytes ;
6
6
use http_body_util:: { combinators:: BoxBody , BodyExt , Empty , Full } ;
7
- use hyper:: client:: conn:: http1:: Builder ;
8
- use hyper:: server:: conn:: http1;
9
7
use hyper:: service:: service_fn;
10
8
use hyper:: upgrade:: Upgraded ;
11
9
use hyper:: { Method , Request , Response } ;
@@ -16,6 +14,9 @@ use tokio::net::{TcpListener, TcpStream};
16
14
mod support;
17
15
use support:: TokioIo ;
18
16
17
+ type ClientBuilder = hyper:: client:: conn:: http1:: Builder ;
18
+ type ServerBuilder = hyper:: server:: conn:: http1:: Builder ;
19
+
19
20
// To try this example:
20
21
// 1. cargo run --example http_proxy
21
22
// 2. config http_proxy in command line
@@ -35,7 +36,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
35
36
let io = TokioIo :: new ( stream) ;
36
37
37
38
tokio:: task:: spawn ( async move {
38
- if let Err ( err) = http1 :: Builder :: new ( )
39
+ if let Err ( err) = ServerBuilder :: new ( )
39
40
. preserve_header_case ( true )
40
41
. title_case_headers ( true )
41
42
. serve_connection ( io, service_fn ( proxy) )
@@ -94,7 +95,7 @@ async fn proxy(
94
95
let stream = TcpStream :: connect ( ( host, port) ) . await . unwrap ( ) ;
95
96
let io = TokioIo :: new ( stream) ;
96
97
97
- let ( mut sender, conn) = Builder :: new ( )
98
+ let ( mut sender, conn) = ClientBuilder :: new ( )
98
99
. preserve_header_case ( true )
99
100
. title_case_headers ( true )
100
101
. handshake ( io)
0 commit comments