aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2020-10-16 11:43:05 +0200
committerLoïc Hoguin <[email protected]>2020-10-16 11:43:05 +0200
commitbe93437f45446ef8109538a3614ba538c9ce6715 (patch)
tree9a595afe87779f510b32d9723e148b5e80d0aef7
parent356bf47edeb5b78765200e78d9b7a48aa98b97f5 (diff)
downloadgun-be93437f45446ef8109538a3614ba538c9ce6715.tar.gz
gun-be93437f45446ef8109538a3614ba538c9ce6715.tar.bz2
gun-be93437f45446ef8109538a3614ba538c9ce6715.zip
Remove the transport_changed event
It doesn't provide any new information compared to the other events.
-rw-r--r--src/gun.erl10
-rw-r--r--src/gun_default_event_h.erl4
-rw-r--r--src/gun_event.erl18
-rw-r--r--test/event_SUITE.erl52
-rw-r--r--test/gun_test_event_h.erl1
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).