From d6b7ec654a876531dc0cfc7c65350d354bda2f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 3 Jul 2019 16:53:36 +0200 Subject: Add the response_start event Thought it needed cow_http2_machine changes but everything was available. For HTTP/1.1 it is triggered when receiving data while expecting headers. For HTTP/2 it is triggered after we have received a HEADERS frame for streams in idle state. --- src/gun_event.erl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/gun_event.erl') diff --git a/src/gun_event.erl b/src/gun_event.erl index 8e66400..2a742a1 100644 --- a/src/gun_event.erl +++ b/src/gun_event.erl @@ -68,6 +68,15 @@ -callback request_end(request_end_event(), State) -> State. +%% response_start. + +-type response_start_event() :: #{ + stream_ref := reference(), + reply_to := pid() +}. + +-callback response_start(response_start_event(), State) -> State. + %% response_inform/response_headers. -type response_headers_event() :: #{ @@ -113,8 +122,7 @@ %% @todo origin_changed %% @todo transport_changed %% @todo protocol_changed -%% @todo response_start (needs changes in cow_http2_machine to have an event before decoding headers) -%% @todo response_trailers (same) +%% @todo response_trailers %% @todo push_promise_start %% @todo push_promise_end %% @todo cancel_start -- cgit v1.2.3