diff --git a/client/src/main/java/org/asynchttpclient/AsyncHandler.java b/client/src/main/java/org/asynchttpclient/AsyncHandler.java index a6fab9b369..6733c94711 100644 --- a/client/src/main/java/org/asynchttpclient/AsyncHandler.java +++ b/client/src/main/java/org/asynchttpclient/AsyncHandler.java @@ -19,6 +19,7 @@ import io.netty.handler.codec.http.HttpHeaders; import org.asynchttpclient.netty.request.NettyRequest; +import javax.net.ssl.SSLSession; import java.net.InetSocketAddress; import java.util.List; @@ -186,7 +187,7 @@ default void onTlsHandshakeAttempt() { /** * Notify the callback after the TLS was successful */ - default void onTlsHandshakeSuccess() { + default void onTlsHandshakeSuccess(SSLSession sslSession) { } /** diff --git a/client/src/main/java/org/asynchttpclient/netty/channel/NettyConnectListener.java b/client/src/main/java/org/asynchttpclient/netty/channel/NettyConnectListener.java index 76bd652a44..4a6f4dce20 100755 --- a/client/src/main/java/org/asynchttpclient/netty/channel/NettyConnectListener.java +++ b/client/src/main/java/org/asynchttpclient/netty/channel/NettyConnectListener.java @@ -130,7 +130,7 @@ public void onSuccess(Channel channel, InetSocketAddress remoteAddress) { @Override protected void onSuccess(Channel value) { try { - asyncHandler.onTlsHandshakeSuccess(); + asyncHandler.onTlsHandshakeSuccess(sslHandler.engine().getSession()); } catch (Exception e) { LOGGER.error("onTlsHandshakeSuccess crashed", e); NettyConnectListener.this.onFailure(channel, e); diff --git a/client/src/test/java/org/asynchttpclient/test/EventCollectingHandler.java b/client/src/test/java/org/asynchttpclient/test/EventCollectingHandler.java index 252de41913..8047c5f843 100644 --- a/client/src/test/java/org/asynchttpclient/test/EventCollectingHandler.java +++ b/client/src/test/java/org/asynchttpclient/test/EventCollectingHandler.java @@ -20,6 +20,7 @@ import org.asynchttpclient.netty.request.NettyRequest; import org.testng.Assert; +import javax.net.ssl.SSLSession; import java.net.InetSocketAddress; import java.util.List; import java.util.Queue; @@ -128,7 +129,8 @@ public void onTlsHandshakeAttempt() { } @Override - public void onTlsHandshakeSuccess() { + public void onTlsHandshakeSuccess(SSLSession sslSession) { + Assert.assertNotNull(sslSession); firedEvents.add(TLS_HANDSHAKE_SUCCESS_EVENT); }