From cd50a0d3f42afd5e12a1470902a60b4fa9d84f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 26 Jul 2019 15:25:53 +0200 Subject: Add the origin_changed event --- src/gun.erl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/gun.erl') diff --git a/src/gun.erl b/src/gun.erl index d158a53..a548a5d 100644 --- a/src/gun.erl +++ b/src/gun.erl @@ -1081,8 +1081,14 @@ commands([{state, ProtoState}|Tail], State) -> %% of the intermediaries properly. commands([{origin, Scheme, Host, Port, Type}|Tail], State=#state{transport=Transport, protocol=Protocol, - origin_host=IntermediateHost, origin_port=IntermediatePort, - intermediaries=Intermediaries}) -> + origin_host=IntermediateHost, origin_port=IntermediatePort, intermediaries=Intermediaries, + event_handler=EvHandler, event_handler_state=EvHandlerState0}) -> + EvHandlerState = EvHandler:origin_changed(#{ + type => Type, + origin_scheme => Scheme, + origin_host => Host, + origin_port => Port + }, EvHandlerState0), Info = #{ type => Type, host => IntermediateHost, @@ -1091,7 +1097,8 @@ commands([{origin, Scheme, Host, Port, Type}|Tail], protocol => Protocol:name() }, commands(Tail, State#state{origin_scheme=Scheme, - origin_host=Host, origin_port=Port, intermediaries=[Info|Intermediaries]}); + origin_host=Host, origin_port=Port, intermediaries=[Info|Intermediaries], + event_handler_state=EvHandlerState}); commands([{switch_transport, Transport, Socket}|Tail], State=#state{ event_handler=EvHandler, event_handler_state=EvHandlerState0}) -> EvHandlerState = EvHandler:transport_changed(#{ -- cgit v1.2.3