fix(http1): only send 100 Continue if request body is polled

Before, if a client request included an `Expect: 100-continue` header,
the `100 Continue` response was sent immediately. However, this is
problematic if the service is going to reply with some 4xx status code
and reject the body.

This change delays the automatic sending of the `100 Continue` status
until the service has call `poll_data` on the request body once.
This commit is contained in:
Sean McArthur
2020-01-28 16:23:03 -08:00
parent a354580e3f
commit c4bb4db5c2
7 changed files with 332 additions and 39 deletions

View File

@@ -14,6 +14,7 @@ pub(crate) mod io;
mod lazy;
mod never;
pub(crate) mod task;
pub(crate) mod watch;
pub use self::exec::Executor;
pub(crate) use self::exec::{BoxSendFuture, Exec};