.class public Lorg/apache/http/impl/cookie/NetscapeDomainHandler; .super Lorg/apache/http/impl/cookie/BasicDomainHandler; .source "NetscapeDomainHandler.java" # direct methods .method public constructor ()V .registers 1 .line 51 invoke-direct {p0}, Lorg/apache/http/impl/cookie/BasicDomainHandler;->()V return-void .end method .method private static isSpecialDomain(Ljava/lang/String;)Z .registers 2 .line 99 sget-object v0, Ljava/util/Locale;->ROOT:Ljava/util/Locale; invoke-virtual {p0, v0}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object p0 .line 100 const-string v0, ".COM" invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_41 const-string v0, ".EDU" invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_41 const-string v0, ".NET" invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_41 const-string v0, ".GOV" invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_41 const-string v0, ".MIL" invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_41 const-string v0, ".ORG" invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_41 const-string v0, ".INT" invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result p0 if-eqz p0, :cond_3f goto :goto_41 :cond_3f const/4 p0, 0x0 goto :goto_42 :cond_41 :goto_41 const/4 p0, 0x1 :goto_42 return p0 .end method # virtual methods .method public getAttributeName()Ljava/lang/String; .registers 2 .line 123 const-string v0, "domain" return-object v0 .end method .method public match(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)Z .registers 4 .line 111 const-string v0, "Cookie" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 112 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 113 invoke-virtual {p2}, Lorg/apache/http/cookie/CookieOrigin;->getHost()Ljava/lang/String; move-result-object p2 .line 114 invoke-interface {p1}, Lorg/apache/http/cookie/Cookie;->getDomain()Ljava/lang/String; move-result-object p1 if-nez p1, :cond_16 const/4 p1, 0x0 return p1 .line 118 :cond_16 invoke-virtual {p2, p1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result p1 return p1 .end method .method public parse(Lorg/apache/http/cookie/SetCookie;Ljava/lang/String;)V .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/cookie/MalformedCookieException; } .end annotation .line 56 const-string v0, "Cookie" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 57 invoke-static {p2}, Lorg/apache/http/util/TextUtils;->isBlank(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_f .line 60 invoke-interface {p1, p2}, Lorg/apache/http/cookie/SetCookie;->setDomain(Ljava/lang/String;)V return-void .line 58 :cond_f 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 66 invoke-virtual {p2}, Lorg/apache/http/cookie/CookieOrigin;->getHost()Ljava/lang/String; move-result-object p2 .line 67 invoke-interface {p1}, Lorg/apache/http/cookie/Cookie;->getDomain()Ljava/lang/String; move-result-object p1 .line 68 invoke-virtual {p2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_3a 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_15 goto :goto_3a .line 69 :cond_15 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 .line 72 :cond_3a :goto_3a const-string v0, "." invoke-virtual {p2, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z move-result p2 if-eqz p2, :cond_8d .line 73 new-instance p2, Ljava/util/StringTokenizer; invoke-direct {p2, p1, v0}, Ljava/util/StringTokenizer;->(Ljava/lang/String;Ljava/lang/String;)V invoke-virtual {p2}, Ljava/util/StringTokenizer;->countTokens()I move-result p2 .line 75 invoke-static {p1}, Lorg/apache/http/impl/cookie/NetscapeDomainHandler;->isSpecialDomain(Ljava/lang/String;)Z move-result v0 const-string v1, "Domain attribute \"" if-eqz v0, :cond_70 const/4 v0, 0x2 if-lt p2, v0, :cond_57 goto :goto_8d .line 77 :cond_57 new-instance p2, Lorg/apache/http/cookie/CookieRestrictionViolationException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string v0, "\" violates the Netscape cookie specification for special domains" invoke-virtual {p1, v0}, 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 {p2, p1}, Lorg/apache/http/cookie/CookieRestrictionViolationException;->(Ljava/lang/String;)V throw p2 :cond_70 const/4 v0, 0x3 if-lt p2, v0, :cond_74 goto :goto_8d .line 84 :cond_74 new-instance p2, Lorg/apache/http/cookie/CookieRestrictionViolationException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 const-string v0, "\" violates the Netscape cookie specification" invoke-virtual {p1, v0}, 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 {p2, p1}, Lorg/apache/http/cookie/CookieRestrictionViolationException;->(Ljava/lang/String;)V throw p2 :cond_8d :goto_8d return-void .end method