@Override
                        public void completed(final SimpleHttpResponse response) {
                            System.out.println(request + "->" + new StatusLine(response));
                            final SSLSession sslSession = clientContext.getSSLSession();
                            if (sslSession != null) {
                                try {
                                    System.out.println("Peer: " + sslSession.getPeerPrincipal());
                                    System.out.println("TLS protocol: " + sslSession.getProtocol());
                                    System.out.println("TLS cipher suite: " + sslSession.getCipherSuite());
                                } catch (final SSLPeerUnverifiedException ignore) {
                                }
                            }
                        }
This example demonstrates how to use SNI to send requests to a virtual HTTPS
endpoint using the async I/O.
httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientSNI.java