From 42d7f3d3585a7f956d87ed53407e517a44f8f98b Mon Sep 17 00:00:00 2001 From: Maria Scott Date: Tue, 7 May 2024 14:33:47 +0200 Subject: Extend error reason in case of failed handshake --- src/ranch.erl | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/ranch.erl b/src/ranch.erl index 85c2c73..ce0c047 100644 --- a/src/ranch.erl +++ b/src/ranch.erl @@ -331,15 +331,13 @@ handshake_result(Result, Ref, Transport, CSocket, Timeout) -> {ok, CSocket2, Info} -> self() ! {handshake_continue, Ref, Transport, CSocket2, Timeout}, {continue, Info}; - {error, {tls_alert, _}} -> - ok = Transport:close(CSocket), - exit(normal); - {error, Reason} when Reason =:= timeout; Reason =:= closed -> - ok = Transport:close(CSocket), - exit(normal); {error, Reason} -> + PeerInfo = case Transport:peername(CSocket) of + {ok, Peer} -> Peer; + {error, _} -> undefined + end, ok = Transport:close(CSocket), - error(Reason) + exit({shutdown, {Reason, PeerInfo}}) end. -spec handshake_cancel(ref()) -> ok. -- cgit v1.2.3