From 4a6503186bf3a72880e7c99be76406550aeded96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 2 Jul 2019 17:28:44 +0200 Subject: Add response_inform/response_headers/response_end events This covers many scenarios but more need to be added. --- src/gun_event.erl | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'src/gun_event.erl') diff --git a/src/gun_event.erl b/src/gun_event.erl index 56f1a36..8e66400 100644 --- a/src/gun_event.erl +++ b/src/gun_event.erl @@ -68,6 +68,27 @@ -callback request_end(request_end_event(), State) -> State. +%% response_inform/response_headers. + +-type response_headers_event() :: #{ + stream_ref := reference(), + reply_to := pid(), + status := non_neg_integer(), + headers := [{binary(), binary()}] +}. + +-callback response_inform(response_headers_event(), State) -> State. +-callback response_headers(response_headers_event(), State) -> State. + +%% response_end. + +-type response_end_event() :: #{ + stream_ref := reference(), + reply_to := pid() +}. + +-callback response_end(response_end_event(), State) -> State. + %% disconnect. -type disconnect_event() :: #{ @@ -92,10 +113,8 @@ %% @todo origin_changed %% @todo transport_changed %% @todo protocol_changed -%% @todo response_start (call it once per inform + one for the response) -%% @todo response_inform -%% @todo response_headers -%% @todo response_end +%% @todo response_start (needs changes in cow_http2_machine to have an event before decoding headers) +%% @todo response_trailers (same) %% @todo push_promise_start %% @todo push_promise_end %% @todo cancel_start -- cgit v1.2.3