From 9e73a972b73a67dc5b8f23f99061f20713148e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 25 Jul 2019 10:25:06 +0200 Subject: Fix missing response_end event for HTTP/1.0 body_close --- src/gun_http.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/gun_http.erl') diff --git a/src/gun_http.erl b/src/gun_http.erl index 738b6e9..08a287c 100644 --- a/src/gun_http.erl +++ b/src/gun_http.erl @@ -404,8 +404,13 @@ send_data_if_alive(_, State, _) -> State. %% @todo Use Reason. -close(_, State=#http_state{in=body_close, streams=[_|Tail]}, _, EvHandlerState) -> +close(_, State=#http_state{in=body_close, streams=[#stream{ref=StreamRef, reply_to=ReplyTo}|Tail]}, + EvHandler, EvHandlerState0) -> _ = send_data_if_alive(<<>>, State, fin), + EvHandlerState = EvHandler:response_end(#{ + stream_ref => StreamRef, + reply_to => ReplyTo + }, EvHandlerState0), {close_streams(Tail), EvHandlerState}; close(_, #http_state{streams=Streams}, _, EvHandlerState) -> {close_streams(Streams), EvHandlerState}. -- cgit v1.2.3