keep-alive
This commit is contained in:
parent
493a54ef6c
commit
1ae196d322
@ -17,29 +17,30 @@ pub async fn handler_connection<S: HttpServer + Send + 'static + Sync>(
|
|||||||
) {
|
) {
|
||||||
let Ok(addr) = sock.get_ref().peer_addr() else { return; };
|
let Ok(addr) = sock.get_ref().peer_addr() else { return; };
|
||||||
|
|
||||||
let req = match HttpRequest::read(sock.get_mut(), &addr).await {
|
loop {
|
||||||
Ok(i) => i,
|
let req = match HttpRequest::read(sock.get_mut(), &addr).await {
|
||||||
Err(e) => {
|
Ok(i) => i,
|
||||||
server.on_error(e).await;
|
Err(e) => {
|
||||||
return;
|
server.on_error(e).await;
|
||||||
}
|
return;
|
||||||
};
|
}
|
||||||
|
};
|
||||||
|
|
||||||
let resp = match server.on_request(&req).await {
|
let resp = match server.on_request(&req).await {
|
||||||
Some(i) => i,
|
Some(i) => i,
|
||||||
None => {
|
None => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
match resp.write(sock.get_mut()).await {
|
match resp.write(sock.get_mut()).await {
|
||||||
Ok(_) => {},
|
Ok(_) => {},
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
server.on_error(e).await;
|
server.on_error(e).await;
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
@ -55,37 +56,39 @@ pub async fn handler_flowgate<S: HttpServer + Send + 'static + Sync>(
|
|||||||
server: Arc<S>,
|
server: Arc<S>,
|
||||||
mut sock: Stream,
|
mut sock: Stream,
|
||||||
) {
|
) {
|
||||||
let addr = match read_line_lf(sock.get_mut()).await {
|
loop {
|
||||||
Ok(i) => i,
|
let addr = match read_line_lf(sock.get_mut()).await {
|
||||||
Err(e) => {
|
Ok(i) => i,
|
||||||
server.on_error(e).await;
|
Err(e) => {
|
||||||
return;
|
server.on_error(e).await;
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
.to_socket_addrs()
|
||||||
.to_socket_addrs()
|
.unwrap()
|
||||||
.unwrap()
|
.collect::<Vec<SocketAddr>>()[0];
|
||||||
.collect::<Vec<SocketAddr>>()[0];
|
|
||||||
|
|
||||||
let req = match HttpRequest::read(sock.get_mut(), &addr).await {
|
let req = match HttpRequest::read(sock.get_mut(), &addr).await {
|
||||||
Ok(i) => i,
|
Ok(i) => i,
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
server.on_error(e).await;
|
server.on_error(e).await;
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let resp = match server.on_request(&req).await {
|
||||||
|
Some(i) => i,
|
||||||
|
None => {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
match resp.write(sock.get_mut()).await {
|
||||||
|
Ok(_) => {},
|
||||||
|
Err(e) => {
|
||||||
|
server.on_error(e).await;
|
||||||
|
return;
|
||||||
|
},
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
let resp = match server.on_request(&req).await {
|
|
||||||
Some(i) => i,
|
|
||||||
None => {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
match resp.write(sock.get_mut()).await {
|
|
||||||
Ok(_) => {},
|
|
||||||
Err(e) => {
|
|
||||||
server.on_error(e).await;
|
|
||||||
return;
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user