Use RST_STREAM(NO_ERROR) in case server early respond (#633) (#634)

Http2 Server are allowed to early respond without fully
  consuming client input stream, but must respond with an
  error code of NO_ERROR when sending RST_STREAM.
  Nginx treat any other error code as fatal if not done so

  Commit change error code from CANCEL to NO_ERROR, when the
  server is early responding to the client

  https://github.com/hyperium/h2/issues/633
  https://trac.nginx.org/nginx/ticket/2376
This commit is contained in:
Erèbe - Romain Gerard
2022-08-15 23:08:56 +02:00
committed by GitHub
parent 756384f4cd
commit b0f54d80f2
2 changed files with 16 additions and 2 deletions

View File

@@ -566,7 +566,9 @@ async fn sends_reset_cancel_when_req_body_is_dropped() {
client
.recv_frame(frames::headers(1).response(200).eos())
.await;
client.recv_frame(frames::reset(1).cancel()).await;
client
.recv_frame(frames::reset(1).reason(Reason::NO_ERROR))
.await;
};
let srv = async move {