From be93437f45446ef8109538a3614ba538c9ce6715 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Fri, 16 Oct 2020 11:43:05 +0200 Subject: Remove the transport_changed event It doesn't provide any new information compared to the other events. --- src/gun.erl | 10 ++------- src/gun_default_event_h.erl | 4 ---- src/gun_event.erl | 18 ---------------- test/event_SUITE.erl | 52 --------------------------------------------- test/gun_test_event_h.erl | 1 - 5 files changed, 2 insertions(+), 83 deletions(-) diff --git a/src/gun.erl b/src/gun.erl index 62abd6f..d78af0d 100644 --- a/src/gun.erl +++ b/src/gun.erl @@ -1720,16 +1720,10 @@ commands([{origin, Scheme, Host, Port, Type}|Tail], origin_host=Host, origin_port=Port, intermediaries=[Info|Intermediaries], event_handler_state=EvHandlerState}); commands([{switch_transport, Transport, Socket}|Tail], State=#state{ - protocol=Protocol, protocol_state=ProtoState0, - event_handler=EvHandler, event_handler_state=EvHandlerState0}) -> + protocol=Protocol, protocol_state=ProtoState0}) -> ProtoState = Protocol:switch_transport(Transport, Socket, ProtoState0), - EvHandlerState = EvHandler:transport_changed(#{ - socket => Socket, - transport => Transport:name() - }, EvHandlerState0), commands(Tail, active(State#state{socket=Socket, transport=Transport, - messages=Transport:messages(), protocol_state=ProtoState, - event_handler_state=EvHandlerState})); + messages=Transport:messages(), protocol_state=ProtoState})); commands([{switch_protocol, NewProtocol, ReplyTo}], State0=#state{ opts=Opts, socket=Socket, transport=Transport, event_handler=EvHandler, event_handler_state=EvHandlerState0}) -> diff --git a/src/gun_default_event_h.erl b/src/gun_default_event_h.erl index a146d21..37f1a3b 100644 --- a/src/gun_default_event_h.erl +++ b/src/gun_default_event_h.erl @@ -39,7 +39,6 @@ -export([ws_send_frame_start/2]). -export([ws_send_frame_end/2]). -export([protocol_changed/2]). --export([transport_changed/2]). -export([origin_changed/2]). -export([cancel/2]). -export([disconnect/2]). @@ -117,9 +116,6 @@ ws_send_frame_end(_EventData, State) -> protocol_changed(_EventData, State) -> State. -transport_changed(_EventData, State) -> - State. - origin_changed(_EventData, State) -> State. diff --git a/src/gun_event.erl b/src/gun_event.erl index 513fa9f..e1926d0 100644 --- a/src/gun_event.erl +++ b/src/gun_event.erl @@ -261,24 +261,6 @@ -callback protocol_changed(protocol_changed_event(), State) -> State. -%% transport_changed. -%% -%% This event can occur following a successful CONNECT request. -%% -%% @todo I think this event should be removed. We already know -%% about the transport being TLS via the tls_handshake events. -%% Perhaps we should provide the socket in tls_handshake_end. -%% We already do!! Therefore what's the point of this event? -%% Remove it!! - --type transport_changed_event() :: #{ - socket := ssl:sslsocket() | pid(), - transport := tls | tls_proxy -}. --export_type([transport_changed_event/0]). - --callback transport_changed(transport_changed_event(), State) -> State. - %% origin_changed. -type origin_changed_event() :: #{ diff --git a/test/event_SUITE.erl b/test/event_SUITE.erl index 6f2f1fa..d883dc5 100644 --- a/test/event_SUITE.erl +++ b/test/event_SUITE.erl @@ -1741,54 +1741,6 @@ do_protocol_changed_tls_connect(Config, OriginProtocol) -> } = do_receive_event(protocol_changed), gun:close(ConnPid). -%% transport_changed. - -http1_transport_changed_connect(Config) -> - doc("Confirm that the transport_changed event callback is called on CONNECT success " - "when connecting through a TLS server via a TCP proxy."), - OriginPort = config(tls_origin_port, Config), - {ok, _, ProxyPort} = rfc7231_SUITE:do_proxy_start(tcp), - {ok, ConnPid} = gun:open("localhost", ProxyPort, #{ - event_handler => {?MODULE, self()}, - protocols => [config(name, config(tc_group_properties, Config))], - transport => tcp - }), - {ok, http} = gun:await_up(ConnPid), - _ = gun:connect(ConnPid, #{ - host => "localhost", - port => OriginPort, - transport => tls - }), - #{ - socket := Socket, - transport := tls - } = do_receive_event(transport_changed), - true = is_tuple(Socket), - gun:close(ConnPid). - -http1_transport_changed_connect_over_https_proxy(Config) -> - doc("Confirm that the transport_changed event callback is called on CONNECT success " - "when connecting through a TLS server via a TLS proxy."), - OriginPort = config(tls_origin_port, Config), - {ok, _, ProxyPort} = rfc7231_SUITE:do_proxy_start(tls), - {ok, ConnPid} = gun:open("localhost", ProxyPort, #{ - event_handler => {?MODULE, self()}, - protocols => [config(name, config(tc_group_properties, Config))], - transport => tls - }), - {ok, http} = gun:await_up(ConnPid), - _ = gun:connect(ConnPid, #{ - host => "localhost", - port => OriginPort, - transport => tls - }), - #{ - socket := Socket, - transport := tls_proxy - } = do_receive_event(transport_changed), - true = is_pid(Socket), - gun:close(ConnPid). - %% origin_changed. origin_changed_connect(Config) -> @@ -2129,10 +2081,6 @@ protocol_changed(EventData, Pid) -> Pid ! {?FUNCTION_NAME, EventData}, Pid. -transport_changed(EventData, Pid) -> - Pid ! {?FUNCTION_NAME, EventData}, - Pid. - origin_changed(EventData, Pid) -> Pid ! {?FUNCTION_NAME, EventData}, Pid. diff --git a/test/gun_test_event_h.erl b/test/gun_test_event_h.erl index 98b2669..c0d6513 100644 --- a/test/gun_test_event_h.erl +++ b/test/gun_test_event_h.erl @@ -40,7 +40,6 @@ ws_recv_frame_end(Event, State) -> common(?FUNCTION_NAME, Event, State). ws_send_frame_start(Event, State) -> common(?FUNCTION_NAME, Event, State). ws_send_frame_end(Event, State) -> common(?FUNCTION_NAME, Event, State). protocol_changed(Event, State) -> common(?FUNCTION_NAME, Event, State). -transport_changed(Event, State) -> common(?FUNCTION_NAME, Event, State). origin_changed(Event, State) -> common(?FUNCTION_NAME, Event, State). cancel(Event, State) -> common(?FUNCTION_NAME, Event, State). disconnect(Event, State) -> common(?FUNCTION_NAME, Event, State). -- cgit v1.2.3