.class public Lorg/apache/http/message/BasicLineParser; .super Ljava/lang/Object; .source "BasicLineParser.java" # interfaces .implements Lorg/apache/http/message/LineParser; # static fields .field public static final DEFAULT:Lorg/apache/http/message/BasicLineParser; .annotation runtime Ljava/lang/Deprecated; .end annotation .end field .field public static final INSTANCE:Lorg/apache/http/message/BasicLineParser; # instance fields .field protected final protocol:Lorg/apache/http/ProtocolVersion; # direct methods .method static constructor ()V .registers 1 .line 72 new-instance v0, Lorg/apache/http/message/BasicLineParser; invoke-direct {v0}, Lorg/apache/http/message/BasicLineParser;->()V sput-object v0, Lorg/apache/http/message/BasicLineParser;->DEFAULT:Lorg/apache/http/message/BasicLineParser; .line 74 new-instance v0, Lorg/apache/http/message/BasicLineParser; invoke-direct {v0}, Lorg/apache/http/message/BasicLineParser;->()V sput-object v0, Lorg/apache/http/message/BasicLineParser;->INSTANCE:Lorg/apache/http/message/BasicLineParser; return-void .end method .method public constructor ()V .registers 2 const/4 v0, 0x0 .line 99 invoke-direct {p0, v0}, Lorg/apache/http/message/BasicLineParser;->(Lorg/apache/http/ProtocolVersion;)V return-void .end method .method public constructor (Lorg/apache/http/ProtocolVersion;)V .registers 2 .line 90 invoke-direct {p0}, Ljava/lang/Object;->()V if-eqz p1, :cond_6 goto :goto_8 .line 91 :cond_6 sget-object p1, Lorg/apache/http/HttpVersion;->HTTP_1_1:Lorg/apache/http/HttpVersion; :goto_8 iput-object p1, p0, Lorg/apache/http/message/BasicLineParser;->protocol:Lorg/apache/http/ProtocolVersion; return-void .end method .method public static parseHeader(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/Header; .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 430 const-string v0, "Value" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 432 new-instance v0, Lorg/apache/http/util/CharArrayBuffer; invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v1 invoke-direct {v0, v1}, Lorg/apache/http/util/CharArrayBuffer;->(I)V .line 433 invoke-virtual {v0, p0}, Lorg/apache/http/util/CharArrayBuffer;->append(Ljava/lang/String;)V if-eqz p1, :cond_14 goto :goto_16 .line 434 :cond_14 sget-object p1, Lorg/apache/http/message/BasicLineParser;->INSTANCE:Lorg/apache/http/message/BasicLineParser; :goto_16 invoke-interface {p1, v0}, Lorg/apache/http/message/LineParser;->parseHeader(Lorg/apache/http/util/CharArrayBuffer;)Lorg/apache/http/Header; move-result-object p0 return-object p0 .end method .method public static parseProtocolVersion(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/ProtocolVersion; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 106 const-string v0, "Value" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 108 new-instance v0, Lorg/apache/http/util/CharArrayBuffer; invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v1 invoke-direct {v0, v1}, Lorg/apache/http/util/CharArrayBuffer;->(I)V .line 109 invoke-virtual {v0, p0}, Lorg/apache/http/util/CharArrayBuffer;->append(Ljava/lang/String;)V .line 110 new-instance v1, Lorg/apache/http/message/ParserCursor; const/4 v2, 0x0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p0 invoke-direct {v1, v2, p0}, Lorg/apache/http/message/ParserCursor;->(II)V if-eqz p1, :cond_1e goto :goto_20 .line 111 :cond_1e sget-object p1, Lorg/apache/http/message/BasicLineParser;->INSTANCE:Lorg/apache/http/message/BasicLineParser; :goto_20 invoke-interface {p1, v0, v1}, Lorg/apache/http/message/LineParser;->parseProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/ProtocolVersion; move-result-object p0 return-object p0 .end method .method public static parseRequestLine(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/RequestLine; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 257 const-string v0, "Value" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 259 new-instance v0, Lorg/apache/http/util/CharArrayBuffer; invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v1 invoke-direct {v0, v1}, Lorg/apache/http/util/CharArrayBuffer;->(I)V .line 260 invoke-virtual {v0, p0}, Lorg/apache/http/util/CharArrayBuffer;->append(Ljava/lang/String;)V .line 261 new-instance v1, Lorg/apache/http/message/ParserCursor; const/4 v2, 0x0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p0 invoke-direct {v1, v2, p0}, Lorg/apache/http/message/ParserCursor;->(II)V if-eqz p1, :cond_1e goto :goto_20 .line 262 :cond_1e sget-object p1, Lorg/apache/http/message/BasicLineParser;->INSTANCE:Lorg/apache/http/message/BasicLineParser; :goto_20 invoke-interface {p1, v0, v1}, Lorg/apache/http/message/LineParser;->parseRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/RequestLine; move-result-object p0 return-object p0 .end method .method public static parseStatusLine(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/StatusLine; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 345 const-string v0, "Value" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 347 new-instance v0, Lorg/apache/http/util/CharArrayBuffer; invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v1 invoke-direct {v0, v1}, Lorg/apache/http/util/CharArrayBuffer;->(I)V .line 348 invoke-virtual {v0, p0}, Lorg/apache/http/util/CharArrayBuffer;->append(Ljava/lang/String;)V .line 349 new-instance v1, Lorg/apache/http/message/ParserCursor; const/4 v2, 0x0 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result p0 invoke-direct {v1, v2, p0}, Lorg/apache/http/message/ParserCursor;->(II)V if-eqz p1, :cond_1e goto :goto_20 .line 350 :cond_1e sget-object p1, Lorg/apache/http/message/BasicLineParser;->INSTANCE:Lorg/apache/http/message/BasicLineParser; :goto_20 invoke-interface {p1, v0, v1}, Lorg/apache/http/message/LineParser;->parseStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/StatusLine; move-result-object p0 return-object p0 .end method # virtual methods .method protected createProtocolVersion(II)Lorg/apache/http/ProtocolVersion; .registers 4 .line 201 iget-object v0, p0, Lorg/apache/http/message/BasicLineParser;->protocol:Lorg/apache/http/ProtocolVersion; invoke-virtual {v0, p1, p2}, Lorg/apache/http/ProtocolVersion;->forVersion(II)Lorg/apache/http/ProtocolVersion; move-result-object p1 return-object p1 .end method .method protected createRequestLine(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)Lorg/apache/http/RequestLine; .registers 5 .line 337 new-instance v0, Lorg/apache/http/message/BasicRequestLine; invoke-direct {v0, p1, p2, p3}, Lorg/apache/http/message/BasicRequestLine;->(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V return-object v0 .end method .method protected createStatusLine(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)Lorg/apache/http/StatusLine; .registers 5 .line 422 new-instance v0, Lorg/apache/http/message/BasicStatusLine; invoke-direct {v0, p1, p2, p3}, Lorg/apache/http/message/BasicStatusLine;->(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)V return-object v0 .end method .method public hasProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Z .registers 11 .line 210 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 211 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 212 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result p2 .line 214 iget-object v0, p0, Lorg/apache/http/message/BasicLineParser;->protocol:Lorg/apache/http/ProtocolVersion; invoke-virtual {v0}, Lorg/apache/http/ProtocolVersion;->getProtocol()Ljava/lang/String; move-result-object v0 .line 215 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v1 .line 217 invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result v2 add-int/lit8 v3, v1, 0x4 const/4 v4, 0x0 if-ge v2, v3, :cond_22 return v4 :cond_22 if-gez p2, :cond_2c .line 225 invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result p2 add-int/lit8 p2, p2, -0x4 sub-int/2addr p2, v1 goto :goto_41 :cond_2c if-nez p2, :cond_41 .line 228 :goto_2e invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result v2 if-ge p2, v2, :cond_41 invoke-virtual {p1, p2}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result v2 invoke-static {v2}, Lorg/apache/http/protocol/HTTP;->isWhitespace(C)Z move-result v2 if-eqz v2, :cond_41 add-int/lit8 p2, p2, 0x1 goto :goto_2e :cond_41 :goto_41 add-int v2, p2, v1 add-int/lit8 v3, v2, 0x4 .line 235 invoke-virtual {p1}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result v5 if-le v3, v5, :cond_4c return v4 :cond_4c const/4 v3, 0x1 move v5, v3 move v6, v4 :goto_4f if-eqz v5, :cond_65 if-ge v6, v1, :cond_65 add-int v5, p2, v6 .line 243 invoke-virtual {p1, v5}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result v5 invoke-virtual {v0, v6}, Ljava/lang/String;->charAt(I)C move-result v7 if-ne v5, v7, :cond_61 move v5, v3 goto :goto_62 :cond_61 move v5, v4 :goto_62 add-int/lit8 v6, v6, 0x1 goto :goto_4f :cond_65 if-eqz v5, :cond_71 .line 246 invoke-virtual {p1, v2}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result p1 const/16 p2, 0x2f if-ne p1, p2, :cond_70 move v4, v3 :cond_70 move v5, v4 :cond_71 return v5 .end method .method public parseHeader(Lorg/apache/http/util/CharArrayBuffer;)Lorg/apache/http/Header; .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 445 new-instance v0, Lorg/apache/http/message/BufferedHeader; invoke-direct {v0, p1}, Lorg/apache/http/message/BufferedHeader;->(Lorg/apache/http/util/CharArrayBuffer;)V return-object v0 .end method .method public parseProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/ProtocolVersion; .registers 15 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 120 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 121 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 122 iget-object v0, p0, Lorg/apache/http/message/BasicLineParser;->protocol:Lorg/apache/http/ProtocolVersion; invoke-virtual {v0}, Lorg/apache/http/ProtocolVersion;->getProtocol()Ljava/lang/String; move-result-object v0 .line 123 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v1 .line 125 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v2 .line 126 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getUpperBound()I move-result v3 .line 128 invoke-virtual {p0, p1, p2}, Lorg/apache/http/message/BasicLineParser;->skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V .line 130 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v4 add-int v5, v4, v1 add-int/lit8 v6, v5, 0x4 .line 133 const-string v7, "Not a valid protocol version: " if-gt v6, v3, :cond_e2 const/4 v6, 0x0 const/4 v8, 0x1 move v10, v6 move v9, v8 :goto_2f if-eqz v9, :cond_45 if-ge v10, v1, :cond_45 add-int v9, v4, v10 .line 142 invoke-virtual {p1, v9}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result v9 invoke-virtual {v0, v10}, Ljava/lang/String;->charAt(I)C move-result v11 if-ne v9, v11, :cond_41 move v9, v8 goto :goto_42 :cond_41 move v9, v6 :goto_42 add-int/lit8 v10, v10, 0x1 goto :goto_2f :cond_45 if-eqz v9, :cond_51 .line 145 invoke-virtual {p1, v5}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result v0 const/16 v5, 0x2f if-ne v0, v5, :cond_50 move v6, v8 :cond_50 move v9, v6 :cond_51 if-eqz v9, :cond_cb add-int/2addr v1, v8 add-int/2addr v4, v1 const/16 v0, 0x2e .line 155 invoke-virtual {p1, v0, v4, v3}, Lorg/apache/http/util/CharArrayBuffer;->indexOf(III)I move-result v0 const/4 v1, -0x1 if-eq v0, v1, :cond_b2 .line 163 :try_start_5e invoke-virtual {p1, v4, v0}, Lorg/apache/http/util/CharArrayBuffer;->substringTrimmed(II)Ljava/lang/String; move-result-object v4 invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v4 :try_end_66 .catch Ljava/lang/NumberFormatException; {:try_start_5e .. :try_end_66} :catch_99 add-int/2addr v0, v8 const/16 v5, 0x20 .line 171 invoke-virtual {p1, v5, v0, v3}, Lorg/apache/http/util/CharArrayBuffer;->indexOf(III)I move-result v5 if-ne v5, v1, :cond_70 move v5, v3 .line 177 :cond_70 :try_start_70 invoke-virtual {p1, v0, v5}, Lorg/apache/http/util/CharArrayBuffer;->substringTrimmed(II)Ljava/lang/String; move-result-object v0 invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result p1 :try_end_78 .catch Ljava/lang/NumberFormatException; {:try_start_70 .. :try_end_78} :catch_80 .line 184 invoke-virtual {p2, v5}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V .line 186 invoke-virtual {p0, v4, p1}, Lorg/apache/http/message/BasicLineParser;->createProtocolVersion(II)Lorg/apache/http/ProtocolVersion; move-result-object p1 return-object p1 .line 179 :catch_80 new-instance p2, Lorg/apache/http/ParseException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Invalid protocol minor version number: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v2, v3}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, 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/ParseException;->(Ljava/lang/String;)V throw p2 .line 165 :catch_99 new-instance p2, Lorg/apache/http/ParseException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Invalid protocol major version number: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v2, v3}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, 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/ParseException;->(Ljava/lang/String;)V throw p2 .line 157 :cond_b2 new-instance p2, Lorg/apache/http/ParseException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Invalid protocol version number: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v2, v3}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, 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/ParseException;->(Ljava/lang/String;)V throw p2 .line 148 :cond_cb new-instance p2, Lorg/apache/http/ParseException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v7}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v2, v3}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, 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/ParseException;->(Ljava/lang/String;)V throw p2 .line 134 :cond_e2 new-instance p2, Lorg/apache/http/ParseException; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v7}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v2, v3}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, 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/ParseException;->(Ljava/lang/String;)V throw p2 .end method .method public parseRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/RequestLine; .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation const-string v0, "Invalid request line: " .line 280 const-string v1, "Char array buffer" invoke-static {p1, v1}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 281 const-string v1, "Parser cursor" invoke-static {p2, v1}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 282 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v1 .line 283 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getUpperBound()I move-result v2 .line 286 :try_start_14 invoke-virtual {p0, p1, p2}, Lorg/apache/http/message/BasicLineParser;->skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V .line 287 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v3 const/16 v4, 0x20 .line 289 invoke-virtual {p1, v4, v3, v2}, Lorg/apache/http/util/CharArrayBuffer;->indexOf(III)I move-result v5 if-ltz v5, :cond_7e .line 294 invoke-virtual {p1, v3, v5}, Lorg/apache/http/util/CharArrayBuffer;->substringTrimmed(II)Ljava/lang/String; move-result-object v3 .line 295 invoke-virtual {p2, v5}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V .line 297 invoke-virtual {p0, p1, p2}, Lorg/apache/http/message/BasicLineParser;->skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V .line 298 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v5 .line 300 invoke-virtual {p1, v4, v5, v2}, Lorg/apache/http/util/CharArrayBuffer;->indexOf(III)I move-result v4 if-ltz v4, :cond_67 .line 305 invoke-virtual {p1, v5, v4}, Lorg/apache/http/util/CharArrayBuffer;->substringTrimmed(II)Ljava/lang/String; move-result-object v5 .line 306 invoke-virtual {p2, v4}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V .line 308 invoke-virtual {p0, p1, p2}, Lorg/apache/http/message/BasicLineParser;->parseProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/ProtocolVersion; move-result-object v4 .line 310 invoke-virtual {p0, p1, p2}, Lorg/apache/http/message/BasicLineParser;->skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V .line 311 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->atEnd()Z move-result p2 if-eqz p2, :cond_50 .line 316 invoke-virtual {p0, v3, v5, v4}, Lorg/apache/http/message/BasicLineParser;->createRequestLine(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)Lorg/apache/http/RequestLine; move-result-object p1 return-object p1 .line 312 :cond_50 new-instance p2, Lorg/apache/http/ParseException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v1, v2}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-direct {p2, v3}, Lorg/apache/http/ParseException;->(Ljava/lang/String;)V throw p2 .line 302 :cond_67 new-instance p2, Lorg/apache/http/ParseException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v1, v2}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-direct {p2, v3}, Lorg/apache/http/ParseException;->(Ljava/lang/String;)V throw p2 .line 291 :cond_7e new-instance p2, Lorg/apache/http/ParseException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v1, v2}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-direct {p2, v3}, Lorg/apache/http/ParseException;->(Ljava/lang/String;)V throw p2 :try_end_95 .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_14 .. :try_end_95} :catch_95 .line 318 :catch_95 new-instance p2, Lorg/apache/http/ParseException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v1, v2}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object p1 invoke-virtual {v3, p1}, 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/ParseException;->(Ljava/lang/String;)V throw p2 .end method .method public parseStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/StatusLine; .registers 10 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/ParseException; } .end annotation .line 359 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 360 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 361 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v0 .line 362 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getUpperBound()I move-result v1 .line 366 :try_start_12 invoke-virtual {p0, p1, p2}, Lorg/apache/http/message/BasicLineParser;->parseProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/ProtocolVersion; move-result-object v2 .line 369 invoke-virtual {p0, p1, p2}, Lorg/apache/http/message/BasicLineParser;->skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V .line 370 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result p2 const/16 v3, 0x20 .line 372 invoke-virtual {p1, v3, p2, v1}, Lorg/apache/http/util/CharArrayBuffer;->indexOf(III)I move-result v3 if-gez v3, :cond_26 move v3, v1 .line 377 :cond_26 invoke-virtual {p1, p2, v3}, Lorg/apache/http/util/CharArrayBuffer;->substringTrimmed(II)Ljava/lang/String; move-result-object p2 const/4 v4, 0x0 .line 378 :goto_2b invoke-virtual {p2}, Ljava/lang/String;->length()I move-result v5 :try_end_2f .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_12 .. :try_end_2f} :catch_88 const-string v6, "Status line contains invalid status code: " if-ge v4, v5, :cond_5b .line 379 :try_start_33 invoke-virtual {p2, v4}, Ljava/lang/String;->charAt(I)C move-result v5 invoke-static {v5}, Ljava/lang/Character;->isDigit(C)Z move-result v5 if-eqz v5, :cond_40 add-int/lit8 v4, v4, 0x1 goto :goto_2b .line 380 :cond_40 new-instance p2, Lorg/apache/http/ParseException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {p1, v0, v1}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-direct {p2, v2}, Lorg/apache/http/ParseException;->(Ljava/lang/String;)V throw p2 :try_end_5b .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_33 .. :try_end_5b} :catch_88 .line 386 :cond_5b :try_start_5b invoke-static {p2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result p2 :try_end_5f .catch Ljava/lang/NumberFormatException; {:try_start_5b .. :try_end_5f} :catch_6d .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_5b .. :try_end_5f} :catch_88 if-ge v3, v1, :cond_66 .line 396 :try_start_61 invoke-virtual {p1, v3, v1}, Lorg/apache/http/util/CharArrayBuffer;->substringTrimmed(II)Ljava/lang/String; move-result-object v3 goto :goto_68 .line 398 :cond_66 const-string v3, "" .line 400 :goto_68 invoke-virtual {p0, v2, p2, v3}, Lorg/apache/http/message/BasicLineParser;->createStatusLine(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)Lorg/apache/http/StatusLine; move-result-object p1 return-object p1 .line 388 :catch_6d new-instance p2, Lorg/apache/http/ParseException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {p1, v0, v1}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-direct {p2, v2}, Lorg/apache/http/ParseException;->(Ljava/lang/String;)V throw p2 :try_end_88 .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_61 .. :try_end_88} :catch_88 .line 403 :catch_88 new-instance p2, Lorg/apache/http/ParseException; new-instance v2, Ljava/lang/StringBuilder; const-string v3, "Invalid status line: " invoke-direct {v2, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v0, v1}, Lorg/apache/http/util/CharArrayBuffer;->substring(II)Ljava/lang/String; move-result-object p1 invoke-virtual {v2, p1}, 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/ParseException;->(Ljava/lang/String;)V throw p2 .end method .method protected skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V .registers 6 .line 453 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v0 .line 454 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getUpperBound()I move-result v1 :goto_8 if-ge v0, v1, :cond_17 .line 455 invoke-virtual {p1, v0}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result v2 invoke-static {v2}, Lorg/apache/http/protocol/HTTP;->isWhitespace(C)Z move-result v2 if-eqz v2, :cond_17 add-int/lit8 v0, v0, 0x1 goto :goto_8 .line 459 :cond_17 invoke-virtual {p2, v0}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V return-void .end method