Example usage for org.apache.http.conn.scheme LayeredSocketFactory isSecure

List of usage examples for org.apache.http.conn.scheme LayeredSocketFactory isSecure

Introduction

In this page you can find the example usage for org.apache.http.conn.scheme LayeredSocketFactory isSecure.

Prototype

boolean isSecure(Socket sock) throws IllegalArgumentException;

Source Link

Document

Checks whether a socket provides a secure connection.

Usage

From source file:com.qiniu.android.http.ClientConnectionOperator.java

public void updateSecureConnection(OperatedClientConnection conn, HttpHost target, HttpContext context,
        HttpParams params) throws IOException {
    if (conn == null) {
        throw new IllegalArgumentException("Connection must not be null.");
    }/*from  w w w.  j a v  a2  s  .c om*/
    if (target == null) {
        throw new IllegalArgumentException("Target host must not be null.");
    }
    if (params == null) {
        throw new IllegalArgumentException("Parameters must not be null.");
    }
    if (!conn.isOpen()) {
        throw new IllegalArgumentException("Connection must be open.");
    }

    final Scheme schm = schemeRegistry.getScheme(target.getSchemeName());
    if (!(schm.getSocketFactory() instanceof LayeredSocketFactory)) {
        throw new IllegalArgumentException(
                "Target scheme (" + schm.getName() + ") must have layered socket factory.");
    }

    final LayeredSocketFactory lsf = (LayeredSocketFactory) schm.getSocketFactory();
    final Socket sock;
    try {
        sock = lsf.createSocket(conn.getSocket(), target.getHostName(), target.getPort(), true);
    } catch (ConnectException ex) {
        throw new HttpHostConnectException(target, ex);
    }
    prepareSocket(sock, context, params);
    conn.update(sock, target, lsf.isSecure(sock), params);
}