From 5ee9c201f874dd27dec2d6fc9a4bc0bd4c96a7e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20S=C3=B6derqvist?= Date: Tue, 14 May 2024 11:59:03 +0200 Subject: [PATCH] Include event handler state in gun:info/1 result MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds event_handler and event_handler_state in the map returned by gun:info/1. Signed-off-by: Viktor Söderqvist Merged PR: https://github.com/ninenines/gun/pull/336 --- doc/src/manual/gun.info.asciidoc | 28 ++++++++++++++++------------ src/gun.erl | 8 ++++++-- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/doc/src/manual/gun.info.asciidoc b/doc/src/manual/gun.info.asciidoc index db0916d6..fdd443ff 100644 --- a/doc/src/manual/gun.info.asciidoc +++ b/doc/src/manual/gun.info.asciidoc @@ -12,18 +12,20 @@ info(ConnPid) -> Info ConnPid :: pid() Info :: #{ - owner => pid(), - socket => inet:socket() | ssl:sslsocket(), - transport => tcp | tls, - protocol => http | http2 | socks | ws, - sock_ip => inet:ip_address(), - sock_port => inet:port_number(), - origin_scheme => binary() | undefined, - origin_host => inet:hostname() | inet:ip_address(), - origin_port => inet:port_number(), - intermediaries => [Intermediary], - cookie_store => gun_cookies:cookie_store(), - state_name => atom() + owner => pid(), + socket => inet:socket() | ssl:sslsocket(), + transport => tcp | tls, + protocol => http | http2 | socks | ws, + sock_ip => inet:ip_address(), + sock_port => inet:port_number(), + origin_scheme => binary() | undefined, + origin_host => inet:hostname() | inet:ip_address(), + origin_port => inet:port_number(), + intermediaries => [Intermediary], + cookie_store => gun_cookies:cookie_store(), + state_name => atom(), + event_handler => module(), + event_handler_state => any() } Intermediary :: #{ type => connect | socks5, @@ -49,6 +51,8 @@ the connection. == Changelog +* *TBD*: The values `event_handler` and `event_handler_state` were + added. * *2.0*: The values `owner`, `origin_scheme` and `cookie_store` were added. * *1.3*: The values `socket`, `transport`, `protocol`, `origin_host`, diff --git a/src/gun.erl b/src/gun.erl index 54dbd722..35848d37 100644 --- a/src/gun.erl +++ b/src/gun.erl @@ -490,7 +490,9 @@ info(ServerPid) -> origin_host=OriginHost, origin_port=OriginPort, intermediaries=Intermediaries, - cookie_store=CookieStore + cookie_store=CookieStore, + event_handler=EventHandler, + event_handler_state=EventHandlerState }} = sys:get_state(ServerPid), Info0 = #{ owner => Owner, @@ -508,7 +510,9 @@ info(ServerPid) -> origin_port => OriginPort, intermediaries => intermediaries_info(Intermediaries, []), cookie_store => CookieStore, - state_name => CurrentStateName + state_name => CurrentStateName, + event_handler => EventHandler, + event_handler_state => EventHandlerState }, Info = case Socket of undefined ->