.class public Lorg/apache/http/impl/conn/DefaultHttpRoutePlanner; .super Ljava/lang/Object; .source "DefaultHttpRoutePlanner.java" # interfaces .implements Lorg/apache/http/conn/routing/HttpRoutePlanner; # annotations .annotation build Lorg/apache/http/annotation/ThreadSafe; .end annotation # instance fields .field public final schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry; # direct methods .method public constructor (Lorg/apache/http/conn/scheme/SchemeRegistry;)V .locals 1 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V if-eqz p1, :cond_0 .line 2 iput-object p1, p0, Lorg/apache/http/impl/conn/DefaultHttpRoutePlanner;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry; return-void .line 3 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string v0, "SchemeRegistry must not be null." invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method # virtual methods .method public determineRoute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute; .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException; } .end annotation if-eqz p2, :cond_3 .line 1 invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams; move-result-object p3 invoke-static {p3}, Lorg/apache/http/conn/params/ConnRouteParams;->getForcedRoute(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/conn/routing/HttpRoute; move-result-object p3 if-eqz p3, :cond_0 return-object p3 :cond_0 if-eqz p1, :cond_2 .line 2 invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams; move-result-object p3 invoke-static {p3}, Lorg/apache/http/conn/params/ConnRouteParams;->getLocalAddress(Lorg/apache/http/params/HttpParams;)Ljava/net/InetAddress; move-result-object p3 .line 3 invoke-interface {p2}, Lorg/apache/http/HttpMessage;->getParams()Lorg/apache/http/params/HttpParams; move-result-object p2 invoke-static {p2}, Lorg/apache/http/conn/params/ConnRouteParams;->getDefaultProxy(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/HttpHost; move-result-object p2 .line 4 iget-object v0, p0, Lorg/apache/http/impl/conn/DefaultHttpRoutePlanner;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry; invoke-virtual {p1}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Lorg/apache/http/conn/scheme/SchemeRegistry;->getScheme(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme; move-result-object v0 .line 5 invoke-virtual {v0}, Lorg/apache/http/conn/scheme/Scheme;->isLayered()Z move-result v0 if-nez p2, :cond_1 .line 6 new-instance p2, Lorg/apache/http/conn/routing/HttpRoute; invoke-direct {p2, p1, p3, v0}, Lorg/apache/http/conn/routing/HttpRoute;->(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Z)V goto :goto_0 .line 7 :cond_1 new-instance v1, Lorg/apache/http/conn/routing/HttpRoute; invoke-direct {v1, p1, p3, p2, v0}, Lorg/apache/http/conn/routing/HttpRoute;->(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;Z)V move-object p2, v1 :goto_0 return-object p2 .line 8 :cond_2 new-instance p1, Ljava/lang/IllegalStateException; const-string p2, "Target host must not be null." invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 9 :cond_3 new-instance p1, Ljava/lang/IllegalStateException; const-string p2, "Request must not be null." invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method