aboutsummaryrefslogtreecommitdiffstats
path: root/src/gun_event.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2019-07-03 16:53:36 +0200
committerLoïc Hoguin <[email protected]>2019-07-03 16:53:36 +0200
commitd6b7ec654a876531dc0cfc7c65350d354bda2f52 (patch)
treea7f5e0eb9ff1647db963b204409f7d0bfe765ea7 /src/gun_event.erl
parent4a6503186bf3a72880e7c99be76406550aeded96 (diff)
downloadgun-d6b7ec654a876531dc0cfc7c65350d354bda2f52.tar.gz
gun-d6b7ec654a876531dc0cfc7c65350d354bda2f52.tar.bz2
gun-d6b7ec654a876531dc0cfc7c65350d354bda2f52.zip
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.
Diffstat (limited to 'src/gun_event.erl')
-rw-r--r--src/gun_event.erl12
1 files changed, 10 insertions, 2 deletions
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