.class public Lorg/apache/http/impl/pool/BasicConnFactory; .super Ljava/lang/Object; .source "BasicConnFactory.java" # interfaces .implements Lorg/apache/http/pool/ConnFactory; # annotations .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Object;", "Lorg/apache/http/pool/ConnFactory<", "Lorg/apache/http/HttpHost;", "Lorg/apache/http/HttpClientConnection;", ">;" } .end annotation # instance fields .field private final connFactory:Lorg/apache/http/HttpConnectionFactory; .annotation system Ldalvik/annotation/Signature; value = { "Lorg/apache/http/HttpConnectionFactory<", "+", "Lorg/apache/http/HttpClientConnection;", ">;" } .end annotation .end field .field private final connectTimeout:I .field private final plainfactory:Ljavax/net/SocketFactory; .field private final sconfig:Lorg/apache/http/config/SocketConfig; .field private final sslfactory:Ljavax/net/ssl/SSLSocketFactory; # direct methods .method public constructor ()V .registers 7 .line 131 sget-object v4, Lorg/apache/http/config/SocketConfig;->DEFAULT:Lorg/apache/http/config/SocketConfig; sget-object v5, Lorg/apache/http/config/ConnectionConfig;->DEFAULT:Lorg/apache/http/config/ConnectionConfig; const/4 v1, 0x0 const/4 v2, 0x0 const/4 v3, 0x0 move-object v0, p0 invoke-direct/range {v0 .. v5}, Lorg/apache/http/impl/pool/BasicConnFactory;->(Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;ILorg/apache/http/config/SocketConfig;Lorg/apache/http/config/ConnectionConfig;)V return-void .end method .method public constructor (ILorg/apache/http/config/SocketConfig;Lorg/apache/http/config/ConnectionConfig;)V .registers 10 const/4 v1, 0x0 const/4 v2, 0x0 move-object v0, p0 move v3, p1 move-object v4, p2 move-object v5, p3 .line 117 invoke-direct/range {v0 .. v5}, Lorg/apache/http/impl/pool/BasicConnFactory;->(Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;ILorg/apache/http/config/SocketConfig;Lorg/apache/http/config/ConnectionConfig;)V return-void .end method .method public constructor (Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;ILorg/apache/http/config/SocketConfig;Lorg/apache/http/config/ConnectionConfig;)V .registers 6 .line 103 invoke-direct {p0}, Ljava/lang/Object;->()V .line 104 iput-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->plainfactory:Ljavax/net/SocketFactory; .line 105 iput-object p2, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sslfactory:Ljavax/net/ssl/SSLSocketFactory; .line 106 iput p3, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->connectTimeout:I if-eqz p4, :cond_c goto :goto_e .line 107 :cond_c sget-object p4, Lorg/apache/http/config/SocketConfig;->DEFAULT:Lorg/apache/http/config/SocketConfig; :goto_e iput-object p4, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; .line 108 new-instance p1, Lorg/apache/http/impl/DefaultBHttpClientConnectionFactory; if-eqz p5, :cond_15 goto :goto_17 :cond_15 sget-object p5, Lorg/apache/http/config/ConnectionConfig;->DEFAULT:Lorg/apache/http/config/ConnectionConfig; :goto_17 invoke-direct {p1, p5}, Lorg/apache/http/impl/DefaultBHttpClientConnectionFactory;->(Lorg/apache/http/config/ConnectionConfig;)V iput-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->connFactory:Lorg/apache/http/HttpConnectionFactory; return-void .end method .method public constructor (Ljavax/net/ssl/SSLSocketFactory;Lorg/apache/http/params/HttpParams;)V .registers 4 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 75 invoke-direct {p0}, Ljava/lang/Object;->()V .line 76 const-string v0, "HTTP params" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; const/4 v0, 0x0 .line 77 iput-object v0, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->plainfactory:Ljavax/net/SocketFactory; .line 78 iput-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sslfactory:Ljavax/net/ssl/SSLSocketFactory; .line 79 const-string p1, "http.connection.timeout" const/4 v0, 0x0 invoke-interface {p2, p1, v0}, Lorg/apache/http/params/HttpParams;->getIntParameter(Ljava/lang/String;I)I move-result p1 iput p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->connectTimeout:I .line 80 invoke-static {p2}, Lorg/apache/http/params/HttpParamConfig;->getSocketConfig(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/config/SocketConfig; move-result-object p1 iput-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; .line 81 new-instance p1, Lorg/apache/http/impl/DefaultBHttpClientConnectionFactory; invoke-static {p2}, Lorg/apache/http/params/HttpParamConfig;->getConnectionConfig(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/config/ConnectionConfig; move-result-object p2 invoke-direct {p1, p2}, Lorg/apache/http/impl/DefaultBHttpClientConnectionFactory;->(Lorg/apache/http/config/ConnectionConfig;)V iput-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->connFactory:Lorg/apache/http/HttpConnectionFactory; return-void .end method .method public constructor (Lorg/apache/http/config/SocketConfig;Lorg/apache/http/config/ConnectionConfig;)V .registers 9 const/4 v2, 0x0 const/4 v3, 0x0 const/4 v1, 0x0 move-object v0, p0 move-object v4, p1 move-object v5, p2 .line 124 invoke-direct/range {v0 .. v5}, Lorg/apache/http/impl/pool/BasicConnFactory;->(Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;ILorg/apache/http/config/SocketConfig;Lorg/apache/http/config/ConnectionConfig;)V return-void .end method .method public constructor (Lorg/apache/http/params/HttpParams;)V .registers 3 .annotation runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 .line 91 invoke-direct {p0, v0, p1}, Lorg/apache/http/impl/pool/BasicConnFactory;->(Ljavax/net/ssl/SSLSocketFactory;Lorg/apache/http/params/HttpParams;)V return-void .end method # virtual methods .method public bridge synthetic create(Ljava/lang/Object;)Ljava/lang/Object; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 58 check-cast p1, Lorg/apache/http/HttpHost; invoke-virtual {p0, p1}, Lorg/apache/http/impl/pool/BasicConnFactory;->create(Lorg/apache/http/HttpHost;)Lorg/apache/http/HttpClientConnection; move-result-object p1 return-object p1 .end method .method protected create(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/HttpClientConnection; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .line 139 const-string v0, "http.socket.buffer-size" const/16 v1, 0x2000 invoke-interface {p2, v0, v1}, Lorg/apache/http/params/HttpParams;->getIntParameter(Ljava/lang/String;I)I move-result p2 .line 140 new-instance v0, Lorg/apache/http/impl/DefaultBHttpClientConnection; invoke-direct {v0, p2}, Lorg/apache/http/impl/DefaultBHttpClientConnection;->(I)V .line 141 invoke-virtual {v0, p1}, Lorg/apache/http/impl/DefaultBHttpClientConnection;->bind(Ljava/net/Socket;)V return-object v0 .end method .method public create(Lorg/apache/http/HttpHost;)Lorg/apache/http/HttpClientConnection; .registers 8 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 147 invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String; move-result-object v0 .line 149 const-string v1, "http" invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_1b .line 150 iget-object v2, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->plainfactory:Ljavax/net/SocketFactory; if-eqz v2, :cond_15 invoke-virtual {v2}, Ljavax/net/SocketFactory;->createSocket()Ljava/net/Socket; move-result-object v2 goto :goto_1c :cond_15 new-instance v2, Ljava/net/Socket; invoke-direct {v2}, Ljava/net/Socket;->()V goto :goto_1c :cond_1b const/4 v2, 0x0 .line 152 :goto_1c const-string v3, "https" invoke-virtual {v3, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v4 if-eqz v4, :cond_31 .line 153 iget-object v2, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sslfactory:Ljavax/net/ssl/SSLSocketFactory; if-eqz v2, :cond_29 goto :goto_2d :cond_29 invoke-static {}, Ljavax/net/ssl/SSLSocketFactory;->getDefault()Ljavax/net/SocketFactory; move-result-object v2 :goto_2d invoke-virtual {v2}, Ljavax/net/SocketFactory;->createSocket()Ljava/net/Socket; move-result-object v2 :cond_31 if-eqz v2, :cond_b3 .line 159 invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getHostName()Ljava/lang/String; move-result-object v0 .line 160 invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getPort()I move-result v4 const/4 v5, -0x1 if-ne v4, v5, :cond_57 .line 162 invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String; move-result-object v5 invoke-virtual {v5, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_4b const/16 v4, 0x50 goto :goto_57 .line 164 :cond_4b invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String; move-result-object p1 invoke-virtual {p1, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result p1 if-eqz p1, :cond_57 const/16 v4, 0x1bb .line 168 :cond_57 :goto_57 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->getSoTimeout()I move-result p1 invoke-virtual {v2, p1}, Ljava/net/Socket;->setSoTimeout(I)V .line 169 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->getSndBufSize()I move-result p1 if-lez p1, :cond_71 .line 170 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->getSndBufSize()I move-result p1 invoke-virtual {v2, p1}, Ljava/net/Socket;->setSendBufferSize(I)V .line 172 :cond_71 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->getRcvBufSize()I move-result p1 if-lez p1, :cond_82 .line 173 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->getRcvBufSize()I move-result p1 invoke-virtual {v2, p1}, Ljava/net/Socket;->setReceiveBufferSize(I)V .line 175 :cond_82 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->isTcpNoDelay()Z move-result p1 invoke-virtual {v2, p1}, Ljava/net/Socket;->setTcpNoDelay(Z)V .line 176 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->getSoLinger()I move-result p1 if-ltz p1, :cond_97 const/4 v1, 0x1 .line 178 invoke-virtual {v2, v1, p1}, Ljava/net/Socket;->setSoLinger(ZI)V .line 180 :cond_97 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->sconfig:Lorg/apache/http/config/SocketConfig; invoke-virtual {p1}, Lorg/apache/http/config/SocketConfig;->isSoKeepAlive()Z move-result p1 invoke-virtual {v2, p1}, Ljava/net/Socket;->setKeepAlive(Z)V .line 181 new-instance p1, Ljava/net/InetSocketAddress; invoke-direct {p1, v0, v4}, Ljava/net/InetSocketAddress;->(Ljava/lang/String;I)V iget v0, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->connectTimeout:I invoke-virtual {v2, p1, v0}, Ljava/net/Socket;->connect(Ljava/net/SocketAddress;I)V .line 182 iget-object p1, p0, Lorg/apache/http/impl/pool/BasicConnFactory;->connFactory:Lorg/apache/http/HttpConnectionFactory; invoke-interface {p1, v2}, Lorg/apache/http/HttpConnectionFactory;->createConnection(Ljava/net/Socket;)Lorg/apache/http/HttpConnection; move-result-object p1 check-cast p1, Lorg/apache/http/HttpClientConnection; return-object p1 .line 157 :cond_b3 new-instance p1, Ljava/io/IOException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const-string v1, " scheme is not supported" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/io/IOException;->(Ljava/lang/String;)V throw p1 .end method