.class public Lorg/apache/http/client/utils/URLEncodedUtils; .super Ljava/lang/Object; .source "URLEncodedUtils.java" # static fields .field public static final CONTENT_TYPE:Ljava/lang/String; = "application/x-www-form-urlencoded" .field private static final NAME_VALUE_SEPARATOR:Ljava/lang/String; = "=" .field private static final PATHSAFE:Ljava/util/BitSet; .field private static final PUNCT:Ljava/util/BitSet; .field private static final QP_SEP_A:C = '&' .field private static final QP_SEP_S:C = ';' .field private static final RADIX:I = 0x10 .field private static final RESERVED:Ljava/util/BitSet; .field private static final UNRESERVED:Ljava/util/BitSet; .field private static final URIC:Ljava/util/BitSet; .field private static final URLENCODER:Ljava/util/BitSet; .field private static final USERINFO:Ljava/util/BitSet; # direct methods .method static constructor ()V .registers 11 .line 422 new-instance v0, Ljava/util/BitSet; const/16 v1, 0x100 invoke-direct {v0, v1}, Ljava/util/BitSet;->(I)V sput-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->UNRESERVED:Ljava/util/BitSet; .line 428 new-instance v0, Ljava/util/BitSet; invoke-direct {v0, v1}, Ljava/util/BitSet;->(I)V sput-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->PUNCT:Ljava/util/BitSet; .line 431 new-instance v0, Ljava/util/BitSet; invoke-direct {v0, v1}, Ljava/util/BitSet;->(I)V sput-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->USERINFO:Ljava/util/BitSet; .line 434 new-instance v0, Ljava/util/BitSet; invoke-direct {v0, v1}, Ljava/util/BitSet;->(I)V sput-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->PATHSAFE:Ljava/util/BitSet; .line 437 new-instance v0, Ljava/util/BitSet; invoke-direct {v0, v1}, Ljava/util/BitSet;->(I)V sput-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->URIC:Ljava/util/BitSet; .line 447 new-instance v0, Ljava/util/BitSet; invoke-direct {v0, v1}, Ljava/util/BitSet;->(I)V sput-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->RESERVED:Ljava/util/BitSet; .line 454 new-instance v0, Ljava/util/BitSet; invoke-direct {v0, v1}, Ljava/util/BitSet;->(I)V sput-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->URLENCODER:Ljava/util/BitSet; const/16 v0, 0x61 :goto_35 const/16 v1, 0x7a if-gt v0, v1, :cond_41 .line 460 sget-object v1, Lorg/apache/http/client/utils/URLEncodedUtils;->UNRESERVED:Ljava/util/BitSet; invoke-virtual {v1, v0}, Ljava/util/BitSet;->set(I)V add-int/lit8 v0, v0, 0x1 goto :goto_35 :cond_41 const/16 v0, 0x41 :goto_43 const/16 v1, 0x5a if-gt v0, v1, :cond_4f .line 463 sget-object v1, Lorg/apache/http/client/utils/URLEncodedUtils;->UNRESERVED:Ljava/util/BitSet; invoke-virtual {v1, v0}, Ljava/util/BitSet;->set(I)V add-int/lit8 v0, v0, 0x1 goto :goto_43 :cond_4f const/16 v0, 0x30 :goto_51 const/16 v1, 0x39 if-gt v0, v1, :cond_5d .line 467 sget-object v1, Lorg/apache/http/client/utils/URLEncodedUtils;->UNRESERVED:Ljava/util/BitSet; invoke-virtual {v1, v0}, Ljava/util/BitSet;->set(I)V add-int/lit8 v0, v0, 0x1 goto :goto_51 .line 469 :cond_5d sget-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->UNRESERVED:Ljava/util/BitSet; const/16 v1, 0x5f invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V const/16 v1, 0x2d .line 470 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V const/16 v1, 0x2e .line 471 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V const/16 v1, 0x2a .line 472 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V .line 473 sget-object v1, Lorg/apache/http/client/utils/URLEncodedUtils;->URLENCODER:Ljava/util/BitSet; invoke-virtual {v1, v0}, Ljava/util/BitSet;->or(Ljava/util/BitSet;)V const/16 v1, 0x21 .line 474 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V const/16 v1, 0x7e .line 475 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V const/16 v1, 0x27 .line 476 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V const/16 v1, 0x28 .line 477 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V const/16 v1, 0x29 .line 478 invoke-virtual {v0, v1}, Ljava/util/BitSet;->set(I)V .line 480 sget-object v1, Lorg/apache/http/client/utils/URLEncodedUtils;->PUNCT:Ljava/util/BitSet; const/16 v2, 0x2c invoke-virtual {v1, v2}, Ljava/util/BitSet;->set(I)V const/16 v3, 0x3b .line 481 invoke-virtual {v1, v3}, Ljava/util/BitSet;->set(I)V const/16 v4, 0x3a .line 482 invoke-virtual {v1, v4}, Ljava/util/BitSet;->set(I)V const/16 v5, 0x24 .line 483 invoke-virtual {v1, v5}, Ljava/util/BitSet;->set(I)V const/16 v6, 0x26 .line 484 invoke-virtual {v1, v6}, Ljava/util/BitSet;->set(I)V const/16 v7, 0x2b .line 485 invoke-virtual {v1, v7}, Ljava/util/BitSet;->set(I)V const/16 v8, 0x3d .line 486 invoke-virtual {v1, v8}, Ljava/util/BitSet;->set(I)V .line 488 sget-object v9, Lorg/apache/http/client/utils/URLEncodedUtils;->USERINFO:Ljava/util/BitSet; invoke-virtual {v9, v0}, Ljava/util/BitSet;->or(Ljava/util/BitSet;)V .line 489 invoke-virtual {v9, v1}, Ljava/util/BitSet;->or(Ljava/util/BitSet;)V .line 492 sget-object v1, Lorg/apache/http/client/utils/URLEncodedUtils;->PATHSAFE:Ljava/util/BitSet; invoke-virtual {v1, v0}, Ljava/util/BitSet;->or(Ljava/util/BitSet;)V const/16 v9, 0x2f .line 493 invoke-virtual {v1, v9}, Ljava/util/BitSet;->set(I)V .line 494 invoke-virtual {v1, v3}, Ljava/util/BitSet;->set(I)V .line 495 invoke-virtual {v1, v4}, Ljava/util/BitSet;->set(I)V const/16 v10, 0x40 .line 496 invoke-virtual {v1, v10}, Ljava/util/BitSet;->set(I)V .line 497 invoke-virtual {v1, v6}, Ljava/util/BitSet;->set(I)V .line 498 invoke-virtual {v1, v8}, Ljava/util/BitSet;->set(I)V .line 499 invoke-virtual {v1, v7}, Ljava/util/BitSet;->set(I)V .line 500 invoke-virtual {v1, v5}, Ljava/util/BitSet;->set(I)V .line 501 invoke-virtual {v1, v2}, Ljava/util/BitSet;->set(I)V .line 503 sget-object v1, Lorg/apache/http/client/utils/URLEncodedUtils;->RESERVED:Ljava/util/BitSet; invoke-virtual {v1, v3}, Ljava/util/BitSet;->set(I)V .line 504 invoke-virtual {v1, v9}, Ljava/util/BitSet;->set(I)V const/16 v3, 0x3f .line 505 invoke-virtual {v1, v3}, Ljava/util/BitSet;->set(I)V .line 506 invoke-virtual {v1, v4}, Ljava/util/BitSet;->set(I)V .line 507 invoke-virtual {v1, v10}, Ljava/util/BitSet;->set(I)V .line 508 invoke-virtual {v1, v6}, Ljava/util/BitSet;->set(I)V .line 509 invoke-virtual {v1, v8}, Ljava/util/BitSet;->set(I)V .line 510 invoke-virtual {v1, v7}, Ljava/util/BitSet;->set(I)V .line 511 invoke-virtual {v1, v5}, Ljava/util/BitSet;->set(I)V .line 512 invoke-virtual {v1, v2}, Ljava/util/BitSet;->set(I)V const/16 v2, 0x5b .line 513 invoke-virtual {v1, v2}, Ljava/util/BitSet;->set(I)V const/16 v2, 0x5d .line 514 invoke-virtual {v1, v2}, Ljava/util/BitSet;->set(I)V .line 516 sget-object v2, Lorg/apache/http/client/utils/URLEncodedUtils;->URIC:Ljava/util/BitSet; invoke-virtual {v2, v1}, Ljava/util/BitSet;->or(Ljava/util/BitSet;)V .line 517 invoke-virtual {v2, v0}, Ljava/util/BitSet;->or(Ljava/util/BitSet;)V return-void .end method .method public constructor ()V .registers 1 .line 61 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static createEmptyList()Ljava/util/List; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;" } .end annotation .line 523 new-instance v0, Ljava/util/ArrayList; const/4 v1, 0x0 invoke-direct {v0, v1}, Ljava/util/ArrayList;->(I)V return-object v0 .end method .method private static decodeFormFields(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .registers 3 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 :cond_4 if-eqz p1, :cond_b .line 605 invoke-static {p1}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; move-result-object p1 goto :goto_d :cond_b sget-object p1, Lorg/apache/http/Consts;->UTF_8:Ljava/nio/charset/Charset; :goto_d const/4 v0, 0x1 invoke-static {p0, p1, v0}, Lorg/apache/http/client/utils/URLEncodedUtils;->urlDecode(Ljava/lang/String;Ljava/nio/charset/Charset;Z)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static decodeFormFields(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; .registers 3 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 :cond_4 if-eqz p1, :cond_7 goto :goto_9 .line 619 :cond_7 sget-object p1, Lorg/apache/http/Consts;->UTF_8:Ljava/nio/charset/Charset; :goto_9 const/4 v0, 0x1 invoke-static {p0, p1, v0}, Lorg/apache/http/client/utils/URLEncodedUtils;->urlDecode(Ljava/lang/String;Ljava/nio/charset/Charset;Z)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method static encPath(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; .registers 4 .line 694 sget-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->PATHSAFE:Ljava/util/BitSet; const/4 v1, 0x0 invoke-static {p0, p1, v0, v1}, Lorg/apache/http/client/utils/URLEncodedUtils;->urlEncode(Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/util/BitSet;Z)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method static encUric(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; .registers 4 .line 681 sget-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->URIC:Ljava/util/BitSet; const/4 v1, 0x0 invoke-static {p0, p1, v0, v1}, Lorg/apache/http/client/utils/URLEncodedUtils;->urlEncode(Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/util/BitSet;Z)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method static encUserInfo(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; .registers 4 .line 668 sget-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->USERINFO:Ljava/util/BitSet; const/4 v1, 0x0 invoke-static {p0, p1, v0, v1}, Lorg/apache/http/client/utils/URLEncodedUtils;->urlEncode(Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/util/BitSet;Z)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static encodeFormFields(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; .registers 4 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 :cond_4 if-eqz p1, :cond_b .line 637 invoke-static {p1}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; move-result-object p1 goto :goto_d :cond_b sget-object p1, Lorg/apache/http/Consts;->UTF_8:Ljava/nio/charset/Charset; :goto_d sget-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->URLENCODER:Ljava/util/BitSet; const/4 v1, 0x1 invoke-static {p0, p1, v0, v1}, Lorg/apache/http/client/utils/URLEncodedUtils;->urlEncode(Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/util/BitSet;Z)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static encodeFormFields(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; .registers 4 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 :cond_4 if-eqz p1, :cond_7 goto :goto_9 .line 655 :cond_7 sget-object p1, Lorg/apache/http/Consts;->UTF_8:Ljava/nio/charset/Charset; :goto_9 sget-object v0, Lorg/apache/http/client/utils/URLEncodedUtils;->URLENCODER:Ljava/util/BitSet; const/4 v1, 0x1 invoke-static {p0, p1, v0, v1}, Lorg/apache/http/client/utils/URLEncodedUtils;->urlEncode(Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/util/BitSet;Z)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static format(Ljava/lang/Iterable;CLjava/nio/charset/Charset;)Ljava/lang/String; .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+", "Lorg/apache/http/NameValuePair;", ">;C", "Ljava/nio/charset/Charset;", ")", "Ljava/lang/String;" } .end annotation .line 399 const-string v0, "Parameters" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 400 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V .line 401 invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p0 :cond_e :goto_e invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_41 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lorg/apache/http/NameValuePair; .line 402 invoke-interface {v1}, Lorg/apache/http/NameValuePair;->getName()Ljava/lang/String; move-result-object v2 invoke-static {v2, p2}, Lorg/apache/http/client/utils/URLEncodedUtils;->encodeFormFields(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; move-result-object v2 .line 403 invoke-interface {v1}, Lorg/apache/http/NameValuePair;->getValue()Ljava/lang/String; move-result-object v1 invoke-static {v1, p2}, Lorg/apache/http/client/utils/URLEncodedUtils;->encodeFormFields(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; move-result-object v1 .line 404 invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I move-result v3 if-lez v3, :cond_33 .line 405 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 407 :cond_33 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz v1, :cond_e .line 409 const-string v2, "=" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 410 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_e .line 413 :cond_41 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static format(Ljava/lang/Iterable;Ljava/nio/charset/Charset;)Ljava/lang/String; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "+", "Lorg/apache/http/NameValuePair;", ">;", "Ljava/nio/charset/Charset;", ")", "Ljava/lang/String;" } .end annotation const/16 v0, 0x26 .line 381 invoke-static {p0, v0, p1}, Lorg/apache/http/client/utils/URLEncodedUtils;->format(Ljava/lang/Iterable;CLjava/nio/charset/Charset;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static format(Ljava/util/List;CLjava/lang/String;)Ljava/lang/String; .registers 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "+", "Lorg/apache/http/NameValuePair;", ">;C", "Ljava/lang/String;", ")", "Ljava/lang/String;" } .end annotation .line 352 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V .line 353 invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p0 :cond_9 :goto_9 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_3c invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lorg/apache/http/NameValuePair; .line 354 invoke-interface {v1}, Lorg/apache/http/NameValuePair;->getName()Ljava/lang/String; move-result-object v2 invoke-static {v2, p2}, Lorg/apache/http/client/utils/URLEncodedUtils;->encodeFormFields(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v2 .line 355 invoke-interface {v1}, Lorg/apache/http/NameValuePair;->getValue()Ljava/lang/String; move-result-object v1 invoke-static {v1, p2}, Lorg/apache/http/client/utils/URLEncodedUtils;->encodeFormFields(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 .line 356 invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I move-result v3 if-lez v3, :cond_2e .line 357 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 359 :cond_2e invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz v1, :cond_9 .line 361 const-string v2, "=" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 362 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_9 .line 365 :cond_3c invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static format(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "+", "Lorg/apache/http/NameValuePair;", ">;", "Ljava/lang/String;", ")", "Ljava/lang/String;" } .end annotation const/16 v0, 0x26 .line 334 invoke-static {p0, v0, p1}, Lorg/apache/http/client/utils/URLEncodedUtils;->format(Ljava/util/List;CLjava/lang/String;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static isEncoded(Lorg/apache/http/HttpEntity;)Z .registers 3 .line 155 const-string v0, "HTTP entity" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 156 invoke-interface {p0}, Lorg/apache/http/HttpEntity;->getContentType()Lorg/apache/http/Header; move-result-object p0 const/4 v0, 0x0 if-eqz p0, :cond_20 .line 158 invoke-interface {p0}, Lorg/apache/http/Header;->getElements()[Lorg/apache/http/HeaderElement; move-result-object p0 .line 159 array-length v1, p0 if-lez v1, :cond_20 .line 160 aget-object p0, p0, v0 invoke-interface {p0}, Lorg/apache/http/HeaderElement;->getName()Ljava/lang/String; move-result-object p0 .line 161 const-string v0, "application/x-www-form-urlencoded" invoke-virtual {p0, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result p0 return p0 :cond_20 return v0 .end method .method public static parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List; .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/nio/charset/Charset;", ")", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;" } .end annotation if-nez p0, :cond_7 .line 245 invoke-static {}, Lorg/apache/http/client/utils/URLEncodedUtils;->createEmptyList()Ljava/util/List; move-result-object p0 return-object p0 .line 247 :cond_7 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 248 invoke-virtual {v0, p0}, Lorg/apache/http/util/CharArrayBuffer;->append(Ljava/lang/String;)V const/4 p0, 0x2 .line 249 new-array p0, p0, [C fill-array-data p0, :array_1e invoke-static {v0, p1, p0}, Lorg/apache/http/client/utils/URLEncodedUtils;->parse(Lorg/apache/http/util/CharArrayBuffer;Ljava/nio/charset/Charset;[C)Ljava/util/List; move-result-object p0 return-object p0 :array_1e .array-data 2 0x26s 0x3bs .end array-data .end method .method public static varargs parse(Ljava/lang/String;Ljava/nio/charset/Charset;[C)Ljava/util/List; .registers 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/nio/charset/Charset;", "[C)", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;" } .end annotation if-nez p0, :cond_7 .line 268 invoke-static {}, Lorg/apache/http/client/utils/URLEncodedUtils;->createEmptyList()Ljava/util/List; move-result-object p0 return-object p0 .line 270 :cond_7 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 271 invoke-virtual {v0, p0}, Lorg/apache/http/util/CharArrayBuffer;->append(Ljava/lang/String;)V .line 272 invoke-static {v0, p1, p2}, Lorg/apache/http/client/utils/URLEncodedUtils;->parse(Lorg/apache/http/util/CharArrayBuffer;Ljava/nio/charset/Charset;[C)Ljava/util/List; move-result-object p0 return-object p0 .end method .method public static parse(Ljava/net/URI;Ljava/lang/String;)Ljava/util/List; .registers 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/net/URI;", "Ljava/lang/String;", ")", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;" } .end annotation if-eqz p1, :cond_7 .line 76 invoke-static {p1}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset; move-result-object p1 goto :goto_8 :cond_7 const/4 p1, 0x0 :goto_8 invoke-static {p0, p1}, Lorg/apache/http/client/utils/URLEncodedUtils;->parse(Ljava/net/URI;Ljava/nio/charset/Charset;)Ljava/util/List; move-result-object p0 return-object p0 .end method .method public static parse(Ljava/net/URI;Ljava/nio/charset/Charset;)Ljava/util/List; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/net/URI;", "Ljava/nio/charset/Charset;", ")", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;" } .end annotation .line 97 const-string v0, "URI" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 98 invoke-virtual {p0}, Ljava/net/URI;->getRawQuery()Ljava/lang/String; move-result-object p0 if-eqz p0, :cond_16 .line 99 invoke-virtual {p0}, Ljava/lang/String;->isEmpty()Z move-result v0 if-nez v0, :cond_16 .line 100 invoke-static {p0, p1}, Lorg/apache/http/client/utils/URLEncodedUtils;->parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List; move-result-object p0 return-object p0 .line 102 :cond_16 invoke-static {}, Lorg/apache/http/client/utils/URLEncodedUtils;->createEmptyList()Ljava/util/List; move-result-object p0 return-object p0 .end method .method public static parse(Lorg/apache/http/HttpEntity;)Ljava/util/List; .registers 9 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lorg/apache/http/HttpEntity;", ")", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 119 const-string v0, "HTTP entity" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 120 invoke-static {p0}, Lorg/apache/http/entity/ContentType;->get(Lorg/apache/http/HttpEntity;)Lorg/apache/http/entity/ContentType; move-result-object v0 if-eqz v0, :cond_86 .line 121 invoke-virtual {v0}, Lorg/apache/http/entity/ContentType;->getMimeType()Ljava/lang/String; move-result-object v1 const-string v2, "application/x-www-form-urlencoded" invoke-virtual {v1, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_19 goto/16 :goto_86 .line 124 :cond_19 invoke-interface {p0}, Lorg/apache/http/HttpEntity;->getContentLength()J move-result-wide v1 const-wide/32 v3, 0x7fffffff cmp-long v3, v1, v3 const/4 v4, 0x1 const/4 v5, 0x0 if-gtz v3, :cond_28 move v3, v4 goto :goto_29 :cond_28 move v3, v5 .line 125 :goto_29 const-string v6, "HTTP entity is too large" invoke-static {v3, v6}, Lorg/apache/http/util/Args;->check(ZLjava/lang/String;)V .line 126 invoke-virtual {v0}, Lorg/apache/http/entity/ContentType;->getCharset()Ljava/nio/charset/Charset; move-result-object v3 if-eqz v3, :cond_39 invoke-virtual {v0}, Lorg/apache/http/entity/ContentType;->getCharset()Ljava/nio/charset/Charset; move-result-object v0 goto :goto_3b :cond_39 sget-object v0, Lorg/apache/http/protocol/HTTP;->DEF_CONTENT_CHARSET:Ljava/nio/charset/Charset; .line 127 :goto_3b invoke-interface {p0}, Lorg/apache/http/HttpEntity;->getContent()Ljava/io/InputStream; move-result-object p0 if-nez p0, :cond_46 .line 129 invoke-static {}, Lorg/apache/http/client/utils/URLEncodedUtils;->createEmptyList()Ljava/util/List; move-result-object p0 return-object p0 .line 133 :cond_46 :try_start_46 new-instance v3, Lorg/apache/http/util/CharArrayBuffer; const-wide/16 v6, 0x0 cmp-long v6, v1, v6 const/16 v7, 0x400 if-lez v6, :cond_52 long-to-int v1, v1 goto :goto_53 :cond_52 move v1, v7 :goto_53 invoke-direct {v3, v1}, Lorg/apache/http/util/CharArrayBuffer;->(I)V .line 134 new-instance v1, Ljava/io/InputStreamReader; invoke-direct {v1, p0, v0}, Ljava/io/InputStreamReader;->(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V .line 135 new-array v2, v7, [C .line 137 :goto_5d invoke-virtual {v1, v2}, Ljava/io/Reader;->read([C)I move-result v6 const/4 v7, -0x1 if-eq v6, v7, :cond_68 .line 138 invoke-virtual {v3, v2, v5, v6}, Lorg/apache/http/util/CharArrayBuffer;->append([CII)V :try_end_67 .catchall {:try_start_46 .. :try_end_67} :catchall_81 goto :goto_5d .line 142 :cond_68 invoke-virtual {p0}, Ljava/io/InputStream;->close()V .line 144 invoke-virtual {v3}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result p0 if-nez p0, :cond_76 .line 145 invoke-static {}, Lorg/apache/http/client/utils/URLEncodedUtils;->createEmptyList()Ljava/util/List; move-result-object p0 return-object p0 .line 147 :cond_76 new-array p0, v4, [C const/16 v1, 0x26 aput-char v1, p0, v5 invoke-static {v3, v0, p0}, Lorg/apache/http/client/utils/URLEncodedUtils;->parse(Lorg/apache/http/util/CharArrayBuffer;Ljava/nio/charset/Charset;[C)Ljava/util/List; move-result-object p0 return-object p0 :catchall_81 move-exception v0 .line 142 invoke-virtual {p0}, Ljava/io/InputStream;->close()V throw v0 .line 122 :cond_86 :goto_86 invoke-static {}, Lorg/apache/http/client/utils/URLEncodedUtils;->createEmptyList()Ljava/util/List; move-result-object p0 return-object p0 .end method .method public static varargs parse(Lorg/apache/http/util/CharArrayBuffer;Ljava/nio/charset/Charset;[C)Ljava/util/List; .registers 10 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lorg/apache/http/util/CharArrayBuffer;", "Ljava/nio/charset/Charset;", "[C)", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;" } .end annotation .line 291 const-string v0, "Char array buffer" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 292 sget-object v0, Lorg/apache/http/message/TokenParser;->INSTANCE:Lorg/apache/http/message/TokenParser; .line 293 new-instance v1, Ljava/util/BitSet; invoke-direct {v1}, Ljava/util/BitSet;->()V .line 294 array-length v2, p2 const/4 v3, 0x0 move v4, v3 :goto_f if-ge v4, v2, :cond_19 aget-char v5, p2, v4 .line 295 invoke-virtual {v1, v5}, Ljava/util/BitSet;->set(I)V add-int/lit8 v4, v4, 0x1 goto :goto_f .line 297 :cond_19 new-instance p2, Lorg/apache/http/message/ParserCursor; invoke-virtual {p0}, Lorg/apache/http/util/CharArrayBuffer;->length()I move-result v2 invoke-direct {p2, v3, v2}, Lorg/apache/http/message/ParserCursor;->(II)V .line 298 new-instance v2, Ljava/util/ArrayList; invoke-direct {v2}, Ljava/util/ArrayList;->()V .line 299 :cond_27 :goto_27 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->atEnd()Z move-result v3 if-nez v3, :cond_7e const/16 v3, 0x3d .line 300 invoke-virtual {v1, v3}, Ljava/util/BitSet;->set(I)V .line 301 invoke-virtual {v0, p0, 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 v4 .line 303 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->atEnd()Z move-result v5 if-nez v5, :cond_66 .line 304 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v5 invoke-virtual {p0, v5}, Lorg/apache/http/util/CharArrayBuffer;->charAt(I)C move-result v5 .line 305 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v6 add-int/lit8 v6, v6, 0x1 invoke-virtual {p2, v6}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V if-ne v5, v3, :cond_66 .line 307 invoke-virtual {v1, v3}, Ljava/util/BitSet;->clear(I)V .line 308 invoke-virtual {v0, p0, p2, v1}, Lorg/apache/http/message/TokenParser;->parseValue(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;Ljava/util/BitSet;)Ljava/lang/String; move-result-object v3 .line 309 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->atEnd()Z move-result v5 if-nez v5, :cond_67 .line 310 invoke-virtual {p2}, Lorg/apache/http/message/ParserCursor;->getPos()I move-result v5 add-int/lit8 v5, v5, 0x1 invoke-virtual {p2, v5}, Lorg/apache/http/message/ParserCursor;->updatePos(I)V goto :goto_67 :cond_66 const/4 v3, 0x0 .line 314 :cond_67 :goto_67 invoke-virtual {v4}, Ljava/lang/String;->isEmpty()Z move-result v5 if-nez v5, :cond_27 .line 315 new-instance v5, Lorg/apache/http/message/BasicNameValuePair; invoke-static {v4, p1}, Lorg/apache/http/client/utils/URLEncodedUtils;->decodeFormFields(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; move-result-object v4 invoke-static {v3, p1}, Lorg/apache/http/client/utils/URLEncodedUtils;->decodeFormFields(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String; move-result-object v3 invoke-direct {v5, v4, v3}, Lorg/apache/http/message/BasicNameValuePair;->(Ljava/lang/String;Ljava/lang/String;)V invoke-interface {v2, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_27 :cond_7e return-object v2 .end method .method public static parse(Ljava/util/List;Ljava/util/Scanner;Ljava/lang/String;)V .registers 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;", "Ljava/util/Scanner;", "Ljava/lang/String;", ")V" } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .line 187 const-string v0, "[&;]" invoke-static {p0, p1, v0, p2}, Lorg/apache/http/client/utils/URLEncodedUtils;->parse(Ljava/util/List;Ljava/util/Scanner;Ljava/lang/String;Ljava/lang/String;)V return-void .end method .method public static parse(Ljava/util/List;Ljava/util/Scanner;Ljava/lang/String;Ljava/lang/String;)V .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lorg/apache/http/NameValuePair;", ">;", "Ljava/util/Scanner;", "Ljava/lang/String;", "Ljava/lang/String;", ")V" } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation .line 214 invoke-virtual {p1, p2}, Ljava/util/Scanner;->useDelimiter(Ljava/lang/String;)Ljava/util/Scanner; .line 215 :goto_3 invoke-virtual {p1}, Ljava/util/Scanner;->hasNext()Z move-result p2 if-eqz p2, :cond_44 .line 218 invoke-virtual {p1}, Ljava/util/Scanner;->next()Ljava/lang/String; move-result-object p2 .line 219 const-string v0, "=" invoke-virtual {p2, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I move-result v0 const/4 v1, -0x1 if-eq v0, v1, :cond_32 const/4 v1, 0x0 .line 221 invoke-virtual {p2, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object v1 invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object v1 invoke-static {v1, p3}, Lorg/apache/http/client/utils/URLEncodedUtils;->decodeFormFields(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 add-int/lit8 v0, v0, 0x1 .line 222 invoke-virtual {p2, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p2 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2, p3}, Lorg/apache/http/client/utils/URLEncodedUtils;->decodeFormFields(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object p2 goto :goto_3b .line 224 :cond_32 invoke-virtual {p2}, Ljava/lang/String;->trim()Ljava/lang/String; move-result-object p2 invoke-static {p2, p3}, Lorg/apache/http/client/utils/URLEncodedUtils;->decodeFormFields(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v1 const/4 p2, 0x0 .line 227 :goto_3b new-instance v0, Lorg/apache/http/message/BasicNameValuePair; invoke-direct {v0, v1, p2}, Lorg/apache/http/message/BasicNameValuePair;->(Ljava/lang/String;Ljava/lang/String;)V invoke-interface {p0, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_3 :cond_44 return-void .end method .method private static urlDecode(Ljava/lang/String;Ljava/nio/charset/Charset;Z)Ljava/lang/String; .registers 10 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 .line 568 :cond_4 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer; move-result-object v0 .line 569 invoke-static {p0}, Ljava/nio/CharBuffer;->wrap(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer; move-result-object p0 .line 570 :goto_10 invoke-virtual {p0}, Ljava/nio/CharBuffer;->hasRemaining()Z move-result v1 if-eqz v1, :cond_61 .line 571 invoke-virtual {p0}, Ljava/nio/CharBuffer;->get()C move-result v1 const/16 v2, 0x25 if-ne v1, v2, :cond_50 .line 572 invoke-virtual {p0}, Ljava/nio/CharBuffer;->remaining()I move-result v3 const/4 v4, 0x2 if-lt v3, v4, :cond_50 .line 573 invoke-virtual {p0}, Ljava/nio/CharBuffer;->get()C move-result v1 .line 574 invoke-virtual {p0}, Ljava/nio/CharBuffer;->get()C move-result v3 const/16 v4, 0x10 .line 575 invoke-static {v1, v4}, Ljava/lang/Character;->digit(CI)I move-result v5 .line 576 invoke-static {v3, v4}, Ljava/lang/Character;->digit(CI)I move-result v4 const/4 v6, -0x1 if-eq v5, v6, :cond_44 if-eq v4, v6, :cond_44 shl-int/lit8 v1, v5, 0x4 add-int/2addr v1, v4 int-to-byte v1, v1 .line 578 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer; goto :goto_10 .line 580 :cond_44 invoke-virtual {v0, v2}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer; int-to-byte v1, v1 .line 581 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer; int-to-byte v1, v3 .line 582 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer; goto :goto_10 :cond_50 if-eqz p2, :cond_5c const/16 v2, 0x2b if-ne v1, v2, :cond_5c const/16 v1, 0x20 .line 585 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer; goto :goto_10 :cond_5c int-to-byte v1, v1 .line 587 invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer; goto :goto_10 .line 590 :cond_61 invoke-virtual {v0}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer; .line 591 invoke-virtual {p1, v0}, Ljava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer; move-result-object p0 invoke-virtual {p0}, Ljava/nio/CharBuffer;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static urlEncode(Ljava/lang/String;Ljava/nio/charset/Charset;Ljava/util/BitSet;Z)Ljava/lang/String; .registers 7 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 .line 534 :cond_4 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V .line 535 invoke-virtual {p1, p0}, Ljava/nio/charset/Charset;->encode(Ljava/lang/String;)Ljava/nio/ByteBuffer; move-result-object p0 .line 536 :goto_d invoke-virtual {p0}, Ljava/nio/ByteBuffer;->hasRemaining()Z move-result p1 if-eqz p1, :cond_54 .line 537 invoke-virtual {p0}, Ljava/nio/ByteBuffer;->get()B move-result p1 and-int/lit16 v1, p1, 0xff .line 538 invoke-virtual {p2, v1}, Ljava/util/BitSet;->get(I)Z move-result v2 if-eqz v2, :cond_24 int-to-char p1, v1 .line 539 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; goto :goto_d :cond_24 if-eqz p3, :cond_30 const/16 v2, 0x20 if-ne v1, v2, :cond_30 const/16 p1, 0x2b .line 541 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; goto :goto_d .line 543 :cond_30 const-string v2, "%" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; shr-int/lit8 v1, v1, 0x4 and-int/lit8 v1, v1, 0xf const/16 v2, 0x10 .line 544 invoke-static {v1, v2}, Ljava/lang/Character;->forDigit(II)C move-result v1 invoke-static {v1}, Ljava/lang/Character;->toUpperCase(C)C move-result v1 and-int/lit8 p1, p1, 0xf .line 545 invoke-static {p1, v2}, Ljava/lang/Character;->forDigit(II)C move-result p1 invoke-static {p1}, Ljava/lang/Character;->toUpperCase(C)C move-result p1 .line 546 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 547 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; goto :goto_d .line 550 :cond_54 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method