.class public Lorg/apache/http/impl/conn/SystemDefaultRoutePlanner; .super Lorg/apache/http/impl/conn/DefaultRoutePlanner; .source "SystemDefaultRoutePlanner.java" # instance fields .field private final proxySelector:Ljava/net/ProxySelector; # direct methods .method public constructor (Ljava/net/ProxySelector;)V .registers 3 const/4 v0, 0x0 .line 72 invoke-direct {p0, v0, p1}, Lorg/apache/http/impl/conn/SystemDefaultRoutePlanner;->(Lorg/apache/http/conn/SchemePortResolver;Ljava/net/ProxySelector;)V return-void .end method .method public constructor (Lorg/apache/http/conn/SchemePortResolver;Ljava/net/ProxySelector;)V .registers 3 .line 64 invoke-direct {p0, p1}, Lorg/apache/http/impl/conn/DefaultRoutePlanner;->(Lorg/apache/http/conn/SchemePortResolver;)V .line 65 iput-object p2, p0, Lorg/apache/http/impl/conn/SystemDefaultRoutePlanner;->proxySelector:Ljava/net/ProxySelector; return-void .end method .method private chooseProxy(Ljava/util/List;)Ljava/net/Proxy; .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Ljava/net/Proxy;", ">;)", "Ljava/net/Proxy;" } .end annotation const/4 v0, 0x0 const/4 v1, 0x0 :goto_2 if-nez v0, :cond_27 .line 123 invoke-interface {p1}, Ljava/util/List;->size()I move-result v2 if-ge v1, v2, :cond_27 .line 124 invoke-interface {p1, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/net/Proxy; .line 125 sget-object v3, Lorg/apache/http/impl/conn/SystemDefaultRoutePlanner$1;->$SwitchMap$java$net$Proxy$Type:[I invoke-virtual {v2}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type; move-result-object v4 invoke-virtual {v4}, Ljava/net/Proxy$Type;->ordinal()I move-result v4 aget v3, v3, v4 const/4 v4, 0x1 if-eq v3, v4, :cond_23 const/4 v4, 0x2 if-eq v3, v4, :cond_23 goto :goto_24 :cond_23 move-object v0, v2 :goto_24 add-int/lit8 v1, v1, 0x1 goto :goto_2 :cond_27 if-nez v0, :cond_2b .line 142 sget-object v0, Ljava/net/Proxy;->NO_PROXY:Ljava/net/Proxy; :cond_2b return-object v0 .end method .method private getHost(Ljava/net/InetSocketAddress;)Ljava/lang/String; .registers 3 .line 115 invoke-virtual {p1}, Ljava/net/InetSocketAddress;->isUnresolved()Z move-result v0 if-eqz v0, :cond_b invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getHostName()Ljava/lang/String; move-result-object p1 goto :goto_13 :cond_b invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress; move-result-object p1 invoke-virtual {p1}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String; move-result-object p1 :goto_13 return-object p1 .end method # virtual methods .method protected determineProxy(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpHost; .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException; } .end annotation .line 82 :try_start_0 new-instance p2, Ljava/net/URI; invoke-virtual {p1}, Lorg/apache/http/HttpHost;->toURI()Ljava/lang/String; move-result-object p3 invoke-direct {p2, p3}, Ljava/net/URI;->(Ljava/lang/String;)V :try_end_9 .catch Ljava/net/URISyntaxException; {:try_start_0 .. :try_end_9} :catch_5b .line 86 iget-object p1, p0, Lorg/apache/http/impl/conn/SystemDefaultRoutePlanner;->proxySelector:Ljava/net/ProxySelector; if-nez p1, :cond_11 .line 88 invoke-static {}, Ljava/net/ProxySelector;->getDefault()Ljava/net/ProxySelector; move-result-object p1 :cond_11 const/4 p3, 0x0 if-nez p1, :cond_15 return-object p3 .line 94 :cond_15 invoke-virtual {p1, p2}, Ljava/net/ProxySelector;->select(Ljava/net/URI;)Ljava/util/List; move-result-object p1 .line 95 invoke-direct {p0, p1}, Lorg/apache/http/impl/conn/SystemDefaultRoutePlanner;->chooseProxy(Ljava/util/List;)Ljava/net/Proxy; move-result-object p1 .line 97 invoke-virtual {p1}, Ljava/net/Proxy;->type()Ljava/net/Proxy$Type; move-result-object p2 sget-object v0, Ljava/net/Proxy$Type;->HTTP:Ljava/net/Proxy$Type; if-ne p2, v0, :cond_5a .line 99 invoke-virtual {p1}, Ljava/net/Proxy;->address()Ljava/net/SocketAddress; move-result-object p2 instance-of p2, p2, Ljava/net/InetSocketAddress; if-eqz p2, :cond_41 .line 102 invoke-virtual {p1}, Ljava/net/Proxy;->address()Ljava/net/SocketAddress; move-result-object p1 check-cast p1, Ljava/net/InetSocketAddress; .line 104 new-instance p3, Lorg/apache/http/HttpHost; invoke-direct {p0, p1}, Lorg/apache/http/impl/conn/SystemDefaultRoutePlanner;->getHost(Ljava/net/InetSocketAddress;)Ljava/lang/String; move-result-object p2 invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getPort()I move-result p1 invoke-direct {p3, p2, p1}, Lorg/apache/http/HttpHost;->(Ljava/lang/String;I)V goto :goto_5a .line 100 :cond_41 new-instance p2, Lorg/apache/http/HttpException; new-instance p3, Ljava/lang/StringBuilder; const-string v0, "Unable to handle non-Inet proxy address: " invoke-direct {p3, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1}, Ljava/net/Proxy;->address()Ljava/net/SocketAddress; move-result-object p1 invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Lorg/apache/http/HttpException;->(Ljava/lang/String;)V throw p2 :cond_5a :goto_5a return-object p3 :catch_5b move-exception p2 .line 84 new-instance p3, Lorg/apache/http/HttpException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Cannot convert host to URI: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p3, p1, p2}, Lorg/apache/http/HttpException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw p3 .end method