diff options
author | Maria Scott <[email protected]> | 2024-05-07 14:33:47 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2024-11-12 14:56:27 +0100 |
commit | 42d7f3d3585a7f956d87ed53407e517a44f8f98b (patch) | |
tree | 98393227757efb0fad2f000ef224275dac674fb5 /src | |
parent | db2fff96c60e740fc6ac6a505f1c6fb69af64645 (diff) | |
download | ranch-42d7f3d3585a7f956d87ed53407e517a44f8f98b.tar.gz ranch-42d7f3d3585a7f956d87ed53407e517a44f8f98b.tar.bz2 ranch-42d7f3d3585a7f956d87ed53407e517a44f8f98b.zip |
Extend error reason in case of failed handshake
Diffstat (limited to 'src')
-rw-r--r-- | src/ranch.erl | 12 |
1 files changed, 5 insertions, 7 deletions
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. |