.class public Lorg/apache/http/impl/cookie/BasicDomainHandler; .super Ljava/lang/Object; .source "BasicDomainHandler.java" # interfaces .implements Lorg/apache/http/cookie/CommonCookieAttributeHandler; # direct methods .method public constructor ()V .registers 1 .line 52 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method static domainMatch(Ljava/lang/String;Ljava/lang/String;)Z .registers 5 .line 96 invoke-static {p1}, Lorg/apache/http/conn/util/InetAddressUtils;->isIPv4Address(Ljava/lang/String;)Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_39 invoke-static {p1}, Lorg/apache/http/conn/util/InetAddressUtils;->isIPv6Address(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_e goto :goto_39 .line 99 :cond_e const-string v0, "." invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v0 const/4 v2, 0x1 if-eqz v0, :cond_1b invoke-virtual {p0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p0 .line 100 :cond_1b invoke-virtual {p1, p0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_39 .line 101 invoke-virtual {p1}, Ljava/lang/String;->length()I move-result v0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p0 sub-int/2addr v0, p0 if-nez v0, :cond_2d return v2 :cond_2d if-le v0, v2, :cond_39 sub-int/2addr v0, v2 .line 106 invoke-virtual {p1, v0}, Ljava/lang/String;->charAt(I)C move-result p0 const/16 p1, 0x2e if-ne p0, p1, :cond_39 return v2 :cond_39 :goto_39 return v1 .end method # virtual methods .method public getAttributeName()Ljava/lang/String; .registers 2 .line 139 const-string v0, "domain" return-object v0 .end method .method public match(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)Z .registers 7 .line 115 const-string v0, "Cookie" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 116 const-string v0, "Cookie origin" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 117 invoke-virtual {p2}, Lorg/apache/http/cookie/CookieOrigin;->getHost()Ljava/lang/String; move-result-object p2 .line 118 invoke-interface {p1}, Lorg/apache/http/cookie/Cookie;->getDomain()Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 if-nez v0, :cond_16 return v1 .line 122 :cond_16 const-string v2, "." invoke-virtual {v0, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v2 const/4 v3, 0x1 if-eqz v2, :cond_23 .line 123 invoke-virtual {v0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object v0 .line 125 :cond_23 sget-object v2, Ljava/util/Locale;->ROOT:Ljava/util/Locale; invoke-virtual {v0, v2}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object v0 .line 126 invoke-virtual {p2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_30 return v3 .line 129 :cond_30 instance-of v2, p1, Lorg/apache/http/cookie/ClientCookie; if-eqz v2, :cond_43 .line 130 check-cast p1, Lorg/apache/http/cookie/ClientCookie; const-string v2, "domain" invoke-interface {p1, v2}, Lorg/apache/http/cookie/ClientCookie;->containsAttribute(Ljava/lang/String;)Z move-result p1 if-eqz p1, :cond_43 .line 131 invoke-static {v0, p2}, Lorg/apache/http/impl/cookie/BasicDomainHandler;->domainMatch(Ljava/lang/String;Ljava/lang/String;)Z move-result p1 return p1 :cond_43 return v1 .end method .method public parse(Lorg/apache/http/cookie/SetCookie;Ljava/lang/String;)V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/cookie/MalformedCookieException; } .end annotation .line 58 const-string v0, "Cookie" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 59 invoke-static {p2}, Lorg/apache/http/util/TextUtils;->isBlank(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_29 .line 63 const-string v0, "." invoke-virtual {p2, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_14 return-void .line 67 :cond_14 invoke-virtual {p2, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_1f const/4 v0, 0x1 .line 68 invoke-virtual {p2, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p2 .line 70 :cond_1f sget-object v0, Ljava/util/Locale;->ROOT:Ljava/util/Locale; invoke-virtual {p2, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object p2 .line 71 invoke-interface {p1, p2}, Lorg/apache/http/cookie/SetCookie;->setDomain(Ljava/lang/String;)V return-void .line 60 :cond_29 new-instance p1, Lorg/apache/http/cookie/MalformedCookieException; const-string p2, "Blank or null value for domain attribute" invoke-direct {p1, p2}, Lorg/apache/http/cookie/MalformedCookieException;->(Ljava/lang/String;)V throw p1 .end method .method public validate(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/cookie/MalformedCookieException; } .end annotation .line 77 const-string v0, "Cookie" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 78 const-string v0, "Cookie origin" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 84 invoke-virtual {p2}, Lorg/apache/http/cookie/CookieOrigin;->getHost()Ljava/lang/String; move-result-object p2 .line 85 invoke-interface {p1}, Lorg/apache/http/cookie/Cookie;->getDomain()Ljava/lang/String; move-result-object p1 if-eqz p1, :cond_47 .line 89 invoke-virtual {p2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_46 invoke-static {p1, p2}, Lorg/apache/http/impl/cookie/BasicDomainHandler;->domainMatch(Ljava/lang/String;Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_21 goto :goto_46 .line 90 :cond_21 new-instance v0, Lorg/apache/http/cookie/CookieRestrictionViolationException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Illegal \'domain\' attribute \"" invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, "\". Domain of origin: \"" invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string p2, "\"" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Lorg/apache/http/cookie/CookieRestrictionViolationException;->(Ljava/lang/String;)V throw v0 :cond_46 :goto_46 return-void .line 87 :cond_47 new-instance p1, Lorg/apache/http/cookie/CookieRestrictionViolationException; const-string p2, "Cookie \'domain\' may not be null" invoke-direct {p1, p2}, Lorg/apache/http/cookie/CookieRestrictionViolationException;->(Ljava/lang/String;)V throw p1 .end method