nghttpx: Call signal_write in HttpsUpstream::on_downstream_abort_request
This commit is contained in:
parent
041d9863c2
commit
c0fc726955
|
@ -95,6 +95,28 @@ func TestH1H1ConnectFailure(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestH1H2NoHost(t *testing.T) {
|
||||||
|
st := newServerTester([]string{"--http2-bridge"}, t, func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
t.Errorf("server should not forward bad request")
|
||||||
|
})
|
||||||
|
defer st.Close()
|
||||||
|
|
||||||
|
// without Host header field, we expect 400 response
|
||||||
|
if _, err := io.WriteString(st.conn, "GET / HTTP/1.1\r\nTest-Case: TestH1H2NoHost\r\n\r\n"); err != nil {
|
||||||
|
t.Fatalf("Error io.WriteString() = %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
resp, err := http.ReadResponse(bufio.NewReader(st.conn), nil)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error http.ReadResponse() = %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
want := 400
|
||||||
|
if got := resp.StatusCode; got != want {
|
||||||
|
t.Errorf("status: %v; want %v", got, want)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestH2H1PlainGET(t *testing.T) {
|
func TestH2H1PlainGET(t *testing.T) {
|
||||||
st := newServerTester(nil, t, noopHandler)
|
st := newServerTester(nil, t, noopHandler)
|
||||||
defer st.Close()
|
defer st.Close()
|
||||||
|
|
|
@ -810,7 +810,9 @@ int HttpsUpstream::on_downstream_body_complete(Downstream *downstream) {
|
||||||
int HttpsUpstream::on_downstream_abort_request(Downstream *downstream,
|
int HttpsUpstream::on_downstream_abort_request(Downstream *downstream,
|
||||||
unsigned int status_code) {
|
unsigned int status_code) {
|
||||||
handler_->set_should_close_after_write(true);
|
handler_->set_should_close_after_write(true);
|
||||||
return error_reply(status_code);
|
error_reply(status_code);
|
||||||
|
handler_->signal_write();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void HttpsUpstream::log_response_headers(const std::string &hdrs) const {
|
void HttpsUpstream::log_response_headers(const std::string &hdrs) const {
|
||||||
|
|
Loading…
Reference in New Issue