From 30e117a9420b21a94d185a27f174d0991e38077d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 31 Oct 2018 15:35:49 +0100 Subject: Make sure we don't send error_responses on the wrong stream --- src/cowboy_http.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/cowboy_http.erl') diff --git a/src/cowboy_http.erl b/src/cowboy_http.erl index fff4e5b..340ced7 100644 --- a/src/cowboy_http.erl +++ b/src/cowboy_http.erl @@ -899,7 +899,8 @@ commands(State, StreamID, [{flow, _Length}|Tail]) -> commands(State, StreamID, Tail); %% Error responses are sent only if a response wasn't sent already. -commands(State=#state{out_state=wait}, StreamID, [{error_response, Status, Headers0, Body}|Tail]) -> +commands(State=#state{out_state=wait, out_streamid=StreamID}, StreamID, + [{error_response, Status, Headers0, Body}|Tail]) -> %% We close the connection when the error response is 408, as it %% indicates a timeout and the RFC recommends that we stop here. (RFC7231 6.5.7) Headers = case Status of -- cgit v1.2.3