.class public Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser; .super Ljava/lang/Object; .source "NetscapeDraftHeaderParser.java" # static fields .field public static final DEFAULT:Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser; .field private static final PARAM_DELIMITER:C = ';' .field private static final TOKEN_DELIMS:Ljava/util/BitSet; .field private static final VALUE_DELIMS:Ljava/util/BitSet; # instance fields .field private final tokenParser:Lorg/apache/http/message/TokenParser; # direct methods .method static constructor ()V .registers 2 .line 53 new-instance v0, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser; invoke-direct {v0}, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->()V sput-object v0, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->DEFAULT:Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser; const/16 v0, 0x3d const/16 v1, 0x3b .line 59 filled-new-array {v0, v1}, [I move-result-object v0 invoke-static {v0}, Lorg/apache/http/message/TokenParser;->INIT_BITSET([I)Ljava/util/BitSet; move-result-object v0 sput-object v0, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->TOKEN_DELIMS:Ljava/util/BitSet; .line 60 filled-new-array {v1}, [I move-result-object v0 invoke-static {v0}, Lorg/apache/http/message/TokenParser;->INIT_BITSET([I)Ljava/util/BitSet; move-result-object v0 sput-object v0, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->VALUE_DELIMS:Ljava/util/BitSet; return-void .end method .method public constructor ()V .registers 2 .line 65 invoke-direct {p0}, Ljava/lang/Object;->()V .line 66 sget-object v0, Lorg/apache/http/message/TokenParser;->INSTANCE:Lorg/apache/http/message/TokenParser; iput-object v0, p0, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->tokenParser:Lorg/apache/http/message/TokenParser; return-void .end method .method private parseNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/NameValuePair; .registers 7 .line 87 iget-object v0, p0, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->tokenParser:Lorg/apache/http/message/TokenParser; sget-object v1, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->TOKEN_DELIMS:Ljava/util/BitSet; invoke-virtual {v0, p1, p2, v1}, Lorg/apache/http/message/TokenParser;->parseToken(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;Ljava/util/BitSet;)Ljava/lang/String; move-result-object v0 .line 88 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->atEnd()Z move-result v1 const/4 v2, 0x0 if-eqz v1, :cond_15 .line 89 new-instance p1, Lorg/apache/http/message/BasicNameValuePair; invoke-direct {p1, v0, v2}, Lorg/apache/http/message/BasicNameValuePair;->(Ljava/lang/String;Ljava/lang/String;)V return-object p1 .line 91 :cond_15 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v1 invoke-virtual {p1, v1}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result v1 .line 92 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v3 add-int/lit8 v3, v3, 0x1 invoke-virtual {p2, v3}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V const/16 v3, 0x3d if-eq v1, v3, :cond_30 .line 94 new-instance p1, Lorg/apache/http/message/BasicNameValuePair; invoke-direct {p1, v0, v2}, Lorg/apache/http/message/BasicNameValuePair;->(Ljava/lang/String;Ljava/lang/String;)V return-object p1 .line 96 :cond_30 iget-object v1, p0, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->tokenParser:Lorg/apache/http/message/TokenParser; sget-object v2, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->VALUE_DELIMS:Ljava/util/BitSet; invoke-virtual {v1, p1, p2, v2}, Lorg/apache/http/message/TokenParser;->parseToken(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;Ljava/util/BitSet;)Ljava/lang/String; move-result-object p1 .line 97 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->atEnd()Z move-result v1 if-nez v1, :cond_47 .line 98 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v1 add-int/lit8 v1, v1, 0x1 invoke-virtual {p2, v1}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V .line 100 :cond_47 new-instance p2, Lorg/apache/http/message/BasicNameValuePair; invoke-direct {p2, v0, p1}, Lorg/apache/http/message/BasicNameValuePair;->(Ljava/lang/String;Ljava/lang/String;)V return-object p2 .end method # virtual methods .method public parseHeader(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/HeaderElement; .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 72 const-string v0, "Char array buffer" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 73 const-string v0, "Parser cursor" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 74 invoke-direct {p0, p1, p2}, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->parseNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/NameValuePair; move-result-object v0 .line 75 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V .line 76 :goto_13 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->atEnd()Z move-result v2 if-nez v2, :cond_21 .line 77 invoke-direct {p0, p1, p2}, Lorg/apache/http/impl/cookie/NetscapeDraftHeaderParser;->parseNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/NameValuePair; move-result-object v2 .line 78 invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_13 .line 80 :cond_21 new-instance p1, Lorg/apache/http/message/BasicHeaderElement; invoke-interface {v0}, Lorg/apache/http/NameValuePair;->getName()Ljava/lang/String; move-result-object p2 invoke-interface {v0}, Lorg/apache/http/NameValuePair;->getValue()Ljava/lang/String; move-result-object v0 invoke-interface {v1}, Ljava/util/List;->size()I move-result v2 new-array v2, v2, [Lorg/apache/http/NameValuePair; invoke-interface {v1, v2}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object v1 check-cast v1, [Lorg/apache/http/NameValuePair; invoke-direct {p1, p2, v0, v1}, Lorg/apache/http/message/BasicHeaderElement;->(Ljava/lang/String;Ljava/lang/String;[Lorg/apache/http/NameValuePair;)V return-object p1 .end method