-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
A-http2Area: HTTP/2 specific.Area: HTTP/2 specific.
Description
Errors emitted by the HttpBody
impl sent as a request body through the HTTP/2 client are not returned to the caller.
Lines 243 to 247 in 8a05f8e
let mut pipe = Box::pin(PipeToSendStream::new(body, body_tx)).map(|res| { | |
if let Err(e) = res { | |
debug!("client request body error: {}", e); | |
} | |
}); |
I understand that this is because contrary to HTTP/1, the request body can be sent at the same as the response is received, so Hyper doesn't wait before returning the response, but that also means that the errors completely disappear and Hyper only notices something went wrong when trying to receive the response body, at which point it returns to the caller an error about the stream being reset.
Any ideas on how to improve that? Maybe we should implement an Extension
that lets us await on a one-time channel to get the error?
wjones127 and westonpace
Metadata
Metadata
Assignees
Labels
A-http2Area: HTTP/2 specific.Area: HTTP/2 specific.