use hyper::upgrade::on
This commit is contained in:
parent
1a2a913256
commit
d85d7e6c39
2 changed files with 18 additions and 16 deletions
|
|
@ -143,7 +143,8 @@ where
|
|||
|
||||
// Upgrade in request header
|
||||
let upgrade_in_request = extract_upgrade(req.headers());
|
||||
let request_upgraded = req.extensions_mut().remove::<hyper::upgrade::OnUpgrade>();
|
||||
// let request_upgraded = req.extensions_mut().remove::<hyper::upgrade::OnUpgrade>();
|
||||
let req_on_upgrade = hyper::upgrade::on(&mut req);
|
||||
|
||||
// Build request from destination information
|
||||
let _context = match self.generate_request_forwarded(
|
||||
|
|
@ -209,19 +210,21 @@ where
|
|||
upgrade_in_response, upgrade_in_request
|
||||
)));
|
||||
}
|
||||
let Some(request_upgraded) = request_upgraded else {
|
||||
return Err(HttpError::NoUpgradeExtensionInRequest);
|
||||
};
|
||||
let Some(onupgrade) = res_backend.extensions_mut().remove::<hyper::upgrade::OnUpgrade>() else {
|
||||
return Err(HttpError::NoUpgradeExtensionInResponse);
|
||||
};
|
||||
// let Some(request_upgraded) = request_upgraded else {
|
||||
// return Err(HttpError::NoUpgradeExtensionInRequest);
|
||||
// };
|
||||
|
||||
// let Some(onupgrade) = res_backend.extensions_mut().remove::<hyper::upgrade::OnUpgrade>() else {
|
||||
// return Err(HttpError::NoUpgradeExtensionInResponse);
|
||||
// };
|
||||
let res_on_upgrade = hyper::upgrade::on(&mut res_backend);
|
||||
|
||||
self.globals.runtime_handle.spawn(async move {
|
||||
let mut response_upgraded = TokioIo::new(onupgrade.await.map_err(|e| {
|
||||
let mut response_upgraded = TokioIo::new(res_on_upgrade.await.map_err(|e| {
|
||||
error!("Failed to upgrade response: {}", e);
|
||||
RpxyError::FailedToUpgradeResponse(e.to_string())
|
||||
})?);
|
||||
let mut request_upgraded = TokioIo::new(request_upgraded.await.map_err(|e| {
|
||||
let mut request_upgraded = TokioIo::new(req_on_upgrade.await.map_err(|e| {
|
||||
error!("Failed to upgrade request: {}", e);
|
||||
RpxyError::FailedToUpgradeRequest(e.to_string())
|
||||
})?);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue