From 5ab5615ff0bc13e449cc3ff7ef528ffdeb1feb1f Mon Sep 17 00:00:00 2001 From: Grigory Starinkin Date: Sat, 20 Oct 2018 10:11:14 +0100 Subject: Handle error_response command in cowboy_metrics_h --- src/cowboy_metrics_h.erl | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/cowboy_metrics_h.erl b/src/cowboy_metrics_h.erl index 3a2a8f0..f9a1363 100644 --- a/src/cowboy_metrics_h.erl +++ b/src/cowboy_metrics_h.erl @@ -222,6 +222,16 @@ fold([{response, Status, Headers, Body}|Tail], resp_end=Resp, resp_body_length=resp_body_length(Body) }); +fold([{error_response, Status, Headers, Body}|Tail], + State=#state{resp_status=RespStatus}) -> + %% The error_response command only results in a response + %% if no response was sent before. + case RespStatus of + undefined -> + fold([{response, Status, Headers, Body}|Tail], State); + _ -> + fold(Tail, State) + end; fold([{headers, Status, Headers}|Tail], State=#state{resp_headers_filter=RespHeadersFilter}) -> RespStart = erlang:monotonic_time(), -- cgit v1.2.3