From ad6302f51092009de5b1d4481ef2bfcd4091a257 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20S=C3=B6derqvist?= Date: Thu, 25 Aug 2022 14:29:35 +0200 Subject: Make Protocol:init/4 return an ok-tuple This is a preparation for allowing init/4 to return an ok or an error tuple. --- src/gun.erl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/gun.erl') diff --git a/src/gun.erl b/src/gun.erl index 42bd409..bfb1bc4 100644 --- a/src/gun.erl +++ b/src/gun.erl @@ -1237,7 +1237,8 @@ connected_ws_only(Type, Event, State) -> connected(internal, {connected, Socket, NewProtocol}, State0=#state{owner=Owner, opts=Opts, transport=Transport}) -> {Protocol, ProtoOpts} = gun_protocols:handler_and_opts(NewProtocol, Opts), - {StateName, ProtoState} = Protocol:init(Owner, Socket, Transport, ProtoOpts), + %% @todo Handle error result from Protocol:init/4 + {ok, StateName, ProtoState} = Protocol:init(Owner, Socket, Transport, ProtoOpts), Owner ! {gun_up, self(), Protocol:name()}, case active(State0#state{socket=Socket, protocol=Protocol, protocol_state=ProtoState}) of {ok, State} -> @@ -1679,7 +1680,8 @@ commands([{switch_protocol, NewProtocol, ReplyTo}], State0=#state{ #{tunnel_transport := _} -> ProtoOpts0; _ -> ProtoOpts0#{tunnel_transport => tcp} end, - {StateName, ProtoState} = Protocol:init(ReplyTo, Socket, Transport, ProtoOpts), + %% @todo Handle error result from Protocol:init/4 + {ok, StateName, ProtoState} = Protocol:init(ReplyTo, Socket, Transport, ProtoOpts), ProtocolChangedEvent = case ProtoOpts of #{stream_ref := StreamRef} -> #{stream_ref => StreamRef, protocol => Protocol:name()}; -- cgit v1.2.3