10个稳定版本
2.1.1 | 2023年6月17日 |
---|---|
2.0.4 | 2022年4月3日 |
2.0.3 | 2020年11月30日 |
2.0.2 | 2020年5月31日 |
1.1.0 | 2020年3月29日 |
#1475 in Web编程
60 每月下载量
在 fastforward 中使用
35KB
752 行
flask
Flask是一个用于存储TcpStream内容并创建http请求/响应的工具
使用flask将来自TCPStream的传入HTTP请求反向代理到SocketAddr地址
use flask::httpx::read_http_request;
fn proxy_tcp_stream(stream: TcpStream, proxy_addr: SocketAddr) {
let _proxy_add_str = format!("{}", proxy_addr);
let proxy_addr_hdr = HeaderValue::from_str(&_proxy_add_str).unwrap();
let mut req = read_http_request(stream.try_clone().unwrap()).unwrap();
// In a real system you should implement remove_hop_by_hop_headers. It's commented out here for simplicity.
// *req.headers_mut() = remove_hop_by_hop_headers(req.headers());
let req_headers = req.headers_mut();
req_headers.remove(http::header::HOST);
req_headers.insert(http::header::HOST, proxy_addr_hdr);
handle_request(stream, req);
}
依赖项
~1.5MB
~29K SLoC