@@ -4,8 +4,6 @@ use std::net::SocketAddr;
44
55use  bytes:: Bytes ; 
66use  http_body_util:: { combinators:: BoxBody ,  BodyExt ,  Empty ,  Full } ; 
7- use  hyper:: client:: conn:: http1:: Builder ; 
8- use  hyper:: server:: conn:: http1; 
97use  hyper:: service:: service_fn; 
108use  hyper:: upgrade:: Upgraded ; 
119use  hyper:: { Method ,  Request ,  Response } ; 
@@ -16,6 +14,9 @@ use tokio::net::{TcpListener, TcpStream};
1614mod  support; 
1715use  support:: TokioIo ; 
1816
17+ type  ClientBuilder  = hyper:: client:: conn:: http1:: Builder ; 
18+ type  ServerBuilder  = hyper:: server:: conn:: http1:: Builder ; 
19+ 
1920// To try this example: 
2021// 1. cargo run --example http_proxy 
2122// 2. config http_proxy in command line 
@@ -35,7 +36,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
3536        let  io = TokioIo :: new ( stream) ; 
3637
3738        tokio:: task:: spawn ( async  move  { 
38-             if  let  Err ( err)  = http1 :: Builder :: new ( ) 
39+             if  let  Err ( err)  = ServerBuilder :: new ( ) 
3940                . preserve_header_case ( true ) 
4041                . title_case_headers ( true ) 
4142                . serve_connection ( io,  service_fn ( proxy) ) 
@@ -94,7 +95,7 @@ async fn proxy(
9495        let  stream = TcpStream :: connect ( ( host,  port) ) . await . unwrap ( ) ; 
9596        let  io = TokioIo :: new ( stream) ; 
9697
97-         let  ( mut  sender,  conn)  = Builder :: new ( ) 
98+         let  ( mut  sender,  conn)  = ClientBuilder :: new ( ) 
9899            . preserve_header_case ( true ) 
99100            . title_case_headers ( true ) 
100101            . handshake ( io) 
0 commit comments