AmazonHttpClient.smali

.class public Lcom/amazonaws/http/AmazonHttpClient;
.super Ljava/lang/Object;
.source "SourceFile"


# static fields
.field public static final d:Lcom/amazonaws/logging/Log;

.field public static final e:Lcom/amazonaws/logging/Log;


# instance fields
.field public final a:Lcom/amazonaws/http/HttpClient;

.field public final b:Lcom/amazonaws/ClientConfiguration;

.field public final c:Lcom/amazonaws/http/HttpRequestFactory;


# direct methods
.method public static constructor <clinit>()V
    .registers 1

    const-string v0, "com.amazonaws.request"

    .line 1
    invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->b(Ljava/lang/String;)Lcom/amazonaws/logging/Log;

    move-result-object v0

    sput-object v0, Lcom/amazonaws/http/AmazonHttpClient;->d:Lcom/amazonaws/logging/Log;

    .line 2
    const-class v0, Lcom/amazonaws/http/AmazonHttpClient;

    invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->a(Ljava/lang/Class;)Lcom/amazonaws/logging/Log;

    move-result-object v0

    sput-object v0, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    return-void
.end method

.method public constructor <init>(Lcom/amazonaws/ClientConfiguration;Lcom/amazonaws/http/HttpClient;)V
    .registers 4

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 2
    new-instance v0, Lcom/amazonaws/http/HttpRequestFactory;

    invoke-direct {v0}, Lcom/amazonaws/http/HttpRequestFactory;-><init>()V

    iput-object v0, p0, Lcom/amazonaws/http/AmazonHttpClient;->c:Lcom/amazonaws/http/HttpRequestFactory;

    .line 3
    iput-object p1, p0, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 4
    iput-object p2, p0, Lcom/amazonaws/http/AmazonHttpClient;->a:Lcom/amazonaws/http/HttpClient;

    return-void
.end method

.method public static a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .line 1
    invoke-virtual {p0, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_7

    return-object p0

    .line 2
    :cond_7
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object p0

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string p0, " "

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object p0

    invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p0

    return-object p0
.end method

.method public static f(Lcom/amazonaws/http/HttpResponse;)Z
    .registers 3

    .line 1
    iget v0, p0, Lcom/amazonaws/http/HttpResponse;->b:I

    .line 2
    iget-object p0, p0, Lcom/amazonaws/http/HttpResponse;->d:Ljava/util/Map;

    const-string v1, "Location"

    .line 3
    invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljava/lang/String;

    const/16 v1, 0x133

    if-ne v0, v1, :cond_1a

    if-eqz p0, :cond_1a

    .line 4
    invoke-virtual {p0}, Ljava/lang/String;->isEmpty()Z

    move-result p0

    if-nez p0, :cond_1a

    const/4 p0, 0x1

    goto :goto_1b

    :cond_1a
    const/4 p0, 0x0

    :goto_1b
    return p0
.end method


# virtual methods
.method public final b(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/ExecutionContext;)Lcom/amazonaws/Response;
    .registers 10
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Lcom/amazonaws/http/HttpResponseHandler<",
            "Lcom/amazonaws/AmazonWebServiceResponse<",
            "TT;>;>;",
            "Lcom/amazonaws/http/HttpResponseHandler<",
            "Lcom/amazonaws/AmazonServiceException;",
            ">;",
            "Lcom/amazonaws/http/ExecutionContext;",
            ")",
            "Lcom/amazonaws/Response<",
            "TT;>;"
        }
    .end annotation

    .line 1
    iget-object v0, p4, Lcom/amazonaws/http/ExecutionContext;->b:Ljava/util/List;

    if-nez v0, :cond_9

    .line 2
    invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;

    move-result-object v0

    goto :goto_28

    .line 3
    :cond_9
    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_d
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_28

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/amazonaws/handlers/RequestHandler2;

    .line 4
    instance-of v3, v2, Lcom/amazonaws/handlers/CredentialsRequestHandler;

    if-eqz v3, :cond_24

    .line 5
    move-object v3, v2

    check-cast v3, Lcom/amazonaws/handlers/CredentialsRequestHandler;

    .line 6
    iget-object v4, p4, Lcom/amazonaws/http/ExecutionContext;->c:Lcom/amazonaws/auth/AWSCredentials;

    .line 7
    iput-object v4, v3, Lcom/amazonaws/handlers/CredentialsRequestHandler;->a:Lcom/amazonaws/auth/AWSCredentials;

    .line 8
    :cond_24
    invoke-virtual {v2, p1}, Lcom/amazonaws/handlers/RequestHandler2;->c(Lcom/amazonaws/Request;)V

    goto :goto_d

    .line 9
    :cond_28
    :goto_28
    iget-object v1, p4, Lcom/amazonaws/http/ExecutionContext;->a:Lcom/amazonaws/util/AWSRequestMetrics;

    .line 10
    :try_start_2a
    invoke-virtual {p0, p1, p2, p3, p4}, Lcom/amazonaws/http/AmazonHttpClient;->c(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/ExecutionContext;)Lcom/amazonaws/Response;

    move-result-object p2

    .line 11
    iget-object p3, v1, Lcom/amazonaws/util/AWSRequestMetrics;->a:Lcom/amazonaws/util/TimingInfo;

    .line 12
    invoke-virtual {p3}, Lcom/amazonaws/util/TimingInfo;->b()Lcom/amazonaws/util/TimingInfo;

    .line 13
    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p3

    :goto_37
    invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z

    move-result p4

    if-eqz p4, :cond_47

    invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object p4

    check-cast p4, Lcom/amazonaws/handlers/RequestHandler2;

    .line 14
    invoke-virtual {p4, p1, p2}, Lcom/amazonaws/handlers/RequestHandler2;->b(Lcom/amazonaws/Request;Lcom/amazonaws/Response;)V
    :try_end_46
    .catch Lcom/amazonaws/AmazonClientException; {:try_start_2a .. :try_end_46} :catch_48

    goto :goto_37

    :cond_47
    return-object p2

    :catch_48
    move-exception p2

    .line 15
    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p3

    :goto_4d
    invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z

    move-result p4

    if-eqz p4, :cond_5d

    invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object p4

    check-cast p4, Lcom/amazonaws/handlers/RequestHandler2;

    .line 16
    invoke-virtual {p4, p1, p2}, Lcom/amazonaws/handlers/RequestHandler2;->a(Lcom/amazonaws/Request;Ljava/lang/Exception;)V

    goto :goto_4d

    .line 17
    :cond_5d
    throw p2
.end method

.method public final c(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/ExecutionContext;)Lcom/amazonaws/Response;
    .registers 34
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Lcom/amazonaws/http/HttpResponseHandler<",
            "Lcom/amazonaws/AmazonWebServiceResponse<",
            "TT;>;>;",
            "Lcom/amazonaws/http/HttpResponseHandler<",
            "Lcom/amazonaws/AmazonServiceException;",
            ">;",
            "Lcom/amazonaws/http/ExecutionContext;",
            ")",
            "Lcom/amazonaws/Response<",
            "TT;>;"
        }
    .end annotation

    move-object/from16 v7, p0

    move-object/from16 v8, p1

    move-object/from16 v9, p4

    .line 1
    iget-object v10, v9, Lcom/amazonaws/http/ExecutionContext;->a:Lcom/amazonaws/util/AWSRequestMetrics;

    .line 2
    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ServiceName:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    move-object v11, v8

    check-cast v11, Lcom/amazonaws/DefaultRequest;

    .line 3
    iget-object v1, v11, Lcom/amazonaws/DefaultRequest;->f:Ljava/lang/String;

    .line 4
    invoke-virtual {v10, v0, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 5
    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ServiceEndpoint:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    .line 6
    iget-object v1, v11, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    .line 7
    invoke-virtual {v10, v0, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 8
    sget-object v0, Lcom/amazonaws/ClientConfiguration;->g:Ljava/lang/String;

    .line 9
    iget-object v1, v11, Lcom/amazonaws/DefaultRequest;->g:Lcom/amazonaws/AmazonWebServiceRequest;

    if-eqz v1, :cond_34

    .line 10
    iget-object v1, v1, Lcom/amazonaws/AmazonWebServiceRequest;->b:Lcom/amazonaws/RequestClientOptions;

    if-eqz v1, :cond_34

    .line 11
    sget-object v2, Lcom/amazonaws/RequestClientOptions$Marker;->USER_AGENT:Lcom/amazonaws/RequestClientOptions$Marker;

    .line 12
    iget-object v1, v1, Lcom/amazonaws/RequestClientOptions;->a:Ljava/util/EnumMap;

    invoke-virtual {v1, v2}, Ljava/util/EnumMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/lang/String;

    if-eqz v1, :cond_34

    .line 13
    invoke-static {v0, v1}, Lcom/amazonaws/http/AmazonHttpClient;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    goto :goto_35

    :cond_34
    move-object v1, v0

    .line 14
    :goto_35
    iget-object v2, v7, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 15
    iget-object v2, v2, Lcom/amazonaws/ClientConfiguration;->a:Ljava/lang/String;

    .line 16
    invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_47

    .line 17
    iget-object v0, v7, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 18
    iget-object v0, v0, Lcom/amazonaws/ClientConfiguration;->a:Ljava/lang/String;

    .line 19
    invoke-static {v1, v0}, Lcom/amazonaws/http/AmazonHttpClient;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 20
    :cond_47
    iget-object v0, v7, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 21
    invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    const-string v0, "User-Agent"

    .line 22
    invoke-virtual {v11, v0, v1}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    .line 23
    invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;

    move-result-object v0

    invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String;

    move-result-object v0

    const-string v1, "aws-sdk-invocation-id"

    invoke-virtual {v11, v1, v0}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V

    const-wide/16 v0, 0x0

    .line 24
    new-instance v12, Ljava/util/LinkedHashMap;

    .line 25
    iget-object v2, v11, Lcom/amazonaws/DefaultRequest;->c:Ljava/util/LinkedHashMap;

    .line 26
    invoke-direct {v12, v2}, Ljava/util/LinkedHashMap;-><init>(Ljava/util/Map;)V

    .line 27
    new-instance v13, Ljava/util/HashMap;

    .line 28
    iget-object v2, v11, Lcom/amazonaws/DefaultRequest;->d:Ljava/util/HashMap;

    .line 29
    invoke-direct {v13, v2}, Ljava/util/HashMap;-><init>(Ljava/util/Map;)V

    .line 30
    iget-object v14, v11, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    if-eqz v14, :cond_7c

    .line 31
    invoke-virtual {v14}, Ljava/io/InputStream;->markSupported()Z

    move-result v2

    if-eqz v2, :cond_7c

    const/4 v2, -0x1

    .line 32
    invoke-virtual {v14, v2}, Ljava/io/InputStream;->mark(I)V

    .line 33
    :cond_7c
    iget-object v15, v9, Lcom/amazonaws/http/ExecutionContext;->c:Lcom/amazonaws/auth/AWSCredentials;

    const/16 v16, 0x0

    move-wide v1, v0

    const/4 v0, 0x0

    const/4 v3, 0x0

    const/4 v4, 0x0

    const/4 v5, 0x0

    const/16 v17, 0x0

    const/16 v18, 0x0

    const/16 v19, 0x0

    :goto_8b
    const/4 v6, 0x1

    move-object/from16 v21, v5

    add-int/lit8 v5, v0, 0x1

    .line 34
    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RequestCount:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    move-wide/from16 v22, v1

    int-to-long v1, v5

    invoke-virtual {v10, v0, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics;->d(Lcom/amazonaws/metrics/MetricType;J)V

    if-le v5, v6, :cond_b0

    .line 35
    iget-object v0, v11, Lcom/amazonaws/DefaultRequest;->c:Ljava/util/LinkedHashMap;

    invoke-virtual {v0}, Ljava/util/LinkedHashMap;->clear()V

    .line 36
    iget-object v0, v11, Lcom/amazonaws/DefaultRequest;->c:Ljava/util/LinkedHashMap;

    invoke-interface {v0, v12}, Ljava/util/Map;->putAll(Ljava/util/Map;)V

    .line 37
    iget-object v0, v11, Lcom/amazonaws/DefaultRequest;->d:Ljava/util/HashMap;

    invoke-virtual {v0}, Ljava/util/HashMap;->clear()V

    .line 38
    iget-object v0, v11, Lcom/amazonaws/DefaultRequest;->d:Ljava/util/HashMap;

    invoke-virtual {v0, v13}, Ljava/util/HashMap;->putAll(Ljava/util/Map;)V

    .line 39
    iput-object v14, v11, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    :cond_b0
    if-eqz v17, :cond_e2

    .line 40
    iget-object v0, v11, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    if-nez v0, :cond_e2

    .line 41
    iget-object v0, v11, Lcom/amazonaws/DefaultRequest;->a:Ljava/lang/String;

    if-nez v0, :cond_e2

    .line 42
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    .line 43
    invoke-virtual/range {v17 .. v17}, Ljava/net/URI;->getScheme()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "://"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual/range {v17 .. v17}, Ljava/net/URI;->getAuthority()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 44
    invoke-static {v0}, Ljava/net/URI;->create(Ljava/lang/String;)Ljava/net/URI;

    move-result-object v0

    .line 45
    iput-object v0, v11, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    .line 46
    invoke-virtual/range {v17 .. v17}, Ljava/net/URI;->getPath()Ljava/lang/String;

    move-result-object v0

    .line 47
    iput-object v0, v11, Lcom/amazonaws/DefaultRequest;->a:Ljava/lang/String;

    :cond_e2
    const-string v2, "Cannot close the response content."

    if-le v5, v6, :cond_12c

    .line 48
    :try_start_e6
    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RetryPauseTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->e(Lcom/amazonaws/metrics/MetricType;)V
    :try_end_eb
    .catch Ljava/io/IOException; {:try_start_e6 .. :try_end_eb} :catch_11b
    .catch Ljava/lang/RuntimeException; {:try_start_e6 .. :try_end_eb} :catch_117
    .catch Ljava/lang/Error; {:try_start_e6 .. :try_end_eb} :catch_113
    .catchall {:try_start_e6 .. :try_end_eb} :catchall_3b8

    .line 49
    :try_start_eb
    move-object v1, v8

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 50
    iget-object v1, v1, Lcom/amazonaws/DefaultRequest;->g:Lcom/amazonaws/AmazonWebServiceRequest;

    .line 51
    iget-object v6, v7, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 52
    iget-object v6, v6, Lcom/amazonaws/ClientConfiguration;->c:Lcom/amazonaws/retry/RetryPolicy;

    .line 53
    invoke-virtual {v7, v1, v4, v5, v6}, Lcom/amazonaws/http/AmazonHttpClient;->h(Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/AmazonClientException;ILcom/amazonaws/retry/RetryPolicy;)J

    move-result-wide v22
    :try_end_f8
    .catchall {:try_start_eb .. :try_end_f8} :catchall_10c

    .line 54
    :try_start_f8
    invoke-virtual {v10, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    .line 55
    move-object v0, v8

    check-cast v0, Lcom/amazonaws/DefaultRequest;

    .line 56
    iget-object v0, v0, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    if-eqz v0, :cond_12c

    .line 57
    invoke-virtual {v0}, Ljava/io/InputStream;->markSupported()Z

    move-result v1

    if-eqz v1, :cond_12c

    .line 58
    invoke-virtual {v0}, Ljava/io/InputStream;->reset()V

    goto :goto_12c

    :catchall_10c
    move-exception v0

    .line 59
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RetryPauseTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    .line 60
    throw v0
    :try_end_113
    .catch Ljava/io/IOException; {:try_start_f8 .. :try_end_113} :catch_11b
    .catch Ljava/lang/RuntimeException; {:try_start_f8 .. :try_end_113} :catch_117
    .catch Ljava/lang/Error; {:try_start_f8 .. :try_end_113} :catch_113
    .catchall {:try_start_f8 .. :try_end_113} :catchall_3b8

    :catch_113
    move-exception v0

    move-object v9, v2

    goto/16 :goto_3be

    :catch_117
    move-exception v0

    move-object v9, v2

    goto/16 :goto_3c7

    :catch_11b
    move-exception v0

    move-object v9, v2

    move/from16 v20, v5

    move-object/from16 v25, v12

    move-object/from16 v26, v13

    move-object/from16 v5, v21

    move-wide/from16 v27, v22

    const/4 v12, 0x0

    move-object/from16 v22, v11

    goto/16 :goto_3db

    :cond_12c
    :goto_12c
    move-object/from16 v25, v12

    move-object/from16 v26, v13

    move-wide/from16 v12, v22

    :try_start_132
    const-string v0, "aws-sdk-retry"

    .line 61
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    add-int/lit8 v4, v5, -0x1

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v4, "/"

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, v12, v13}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v11, v0, v1}, Lcom/amazonaws/DefaultRequest;->a(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_14d
    .catch Ljava/io/IOException; {:try_start_132 .. :try_end_14d} :catch_3d0
    .catch Ljava/lang/RuntimeException; {:try_start_132 .. :try_end_14d} :catch_117
    .catch Ljava/lang/Error; {:try_start_132 .. :try_end_14d} :catch_113
    .catchall {:try_start_132 .. :try_end_14d} :catchall_3b8

    if-nez v18, :cond_158

    .line 62
    :try_start_14f
    move-object v0, v9

    check-cast v0, Lcom/amazonaws/services/s3/internal/S3ExecutionContext;

    .line 63
    iget-object v0, v0, Lcom/amazonaws/services/s3/internal/S3ExecutionContext;->d:Lcom/amazonaws/auth/Signer;
    :try_end_154
    .catch Ljava/io/IOException; {:try_start_14f .. :try_end_154} :catch_156
    .catch Ljava/lang/RuntimeException; {:try_start_14f .. :try_end_154} :catch_117
    .catch Ljava/lang/Error; {:try_start_14f .. :try_end_154} :catch_113
    .catchall {:try_start_14f .. :try_end_154} :catchall_3b8

    move-object v6, v0

    goto :goto_15a

    :catch_156
    move-exception v0

    goto :goto_19a

    :cond_158
    move-object/from16 v6, v18

    :goto_15a
    if-eqz v6, :cond_174

    if-eqz v15, :cond_174

    .line 64
    :try_start_15e
    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RequestSigningTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->e(Lcom/amazonaws/metrics/MetricType;)V
    :try_end_163
    .catch Ljava/io/IOException; {:try_start_15e .. :try_end_163} :catch_172
    .catch Ljava/lang/RuntimeException; {:try_start_15e .. :try_end_163} :catch_117
    .catch Ljava/lang/Error; {:try_start_15e .. :try_end_163} :catch_113
    .catchall {:try_start_15e .. :try_end_163} :catchall_3b8

    .line 65
    :try_start_163
    invoke-interface {v6, v8, v15}, Lcom/amazonaws/auth/Signer;->c(Lcom/amazonaws/Request;Lcom/amazonaws/auth/AWSCredentials;)V
    :try_end_166
    .catchall {:try_start_163 .. :try_end_166} :catchall_16a

    .line 66
    :try_start_166
    invoke-virtual {v10, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    goto :goto_174

    :catchall_16a
    move-exception v0

    move-object v1, v0

    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RequestSigningTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    .line 67
    throw v1
    :try_end_172
    .catch Ljava/io/IOException; {:try_start_166 .. :try_end_172} :catch_172
    .catch Ljava/lang/RuntimeException; {:try_start_166 .. :try_end_172} :catch_117
    .catch Ljava/lang/Error; {:try_start_166 .. :try_end_172} :catch_113
    .catchall {:try_start_166 .. :try_end_172} :catchall_3b8

    :catch_172
    move-exception v0

    goto :goto_198

    .line 68
    :cond_174
    :goto_174
    :try_start_174
    sget-object v0, Lcom/amazonaws/http/AmazonHttpClient;->d:Lcom/amazonaws/logging/Log;

    invoke-interface {v0}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result v1
    :try_end_17a
    .catch Ljava/io/IOException; {:try_start_174 .. :try_end_17a} :catch_3a8
    .catch Ljava/lang/RuntimeException; {:try_start_174 .. :try_end_17a} :catch_117
    .catch Ljava/lang/Error; {:try_start_174 .. :try_end_17a} :catch_113
    .catchall {:try_start_174 .. :try_end_17a} :catchall_3b8

    if-eqz v1, :cond_1a7

    .line 69
    :try_start_17c
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "Sending Request: "

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual/range {p1 .. p1}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-interface {v0, v1}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V
    :try_end_194
    .catch Ljava/io/IOException; {:try_start_17c .. :try_end_194} :catch_172
    .catch Ljava/lang/RuntimeException; {:try_start_17c .. :try_end_194} :catch_117
    .catch Ljava/lang/Error; {:try_start_17c .. :try_end_194} :catch_113
    .catchall {:try_start_17c .. :try_end_194} :catchall_3b8

    goto :goto_1a7

    :goto_195
    move-object v9, v2

    goto/16 :goto_3bb

    :goto_198
    move-object/from16 v18, v6

    :goto_19a
    move-object v9, v2

    move/from16 v20, v5

    move-object/from16 v22, v11

    move-wide/from16 v27, v12

    move-object/from16 v13, v21

    const/4 v12, 0x0

    :goto_1a4
    move-object v11, v3

    goto/16 :goto_3dd

    .line 70
    :cond_1a7
    :goto_1a7
    :try_start_1a7
    iget-object v0, v7, Lcom/amazonaws/http/AmazonHttpClient;->c:Lcom/amazonaws/http/HttpRequestFactory;

    iget-object v1, v7, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    invoke-virtual {v0, v8, v1}, Lcom/amazonaws/http/HttpRequestFactory;->a(Lcom/amazonaws/Request;Lcom/amazonaws/ClientConfiguration;)Lcom/amazonaws/http/HttpRequest;

    move-result-object v4
    :try_end_1af
    .catch Ljava/io/IOException; {:try_start_1a7 .. :try_end_1af} :catch_3a8
    .catch Ljava/lang/RuntimeException; {:try_start_1a7 .. :try_end_1af} :catch_117
    .catch Ljava/lang/Error; {:try_start_1a7 .. :try_end_1af} :catch_113
    .catchall {:try_start_1a7 .. :try_end_1af} :catchall_3b8

    .line 71
    :try_start_1af
    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->HttpRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->e(Lcom/amazonaws/metrics/MetricType;)V
    :try_end_1b4
    .catch Ljava/io/IOException; {:try_start_1af .. :try_end_1b4} :catch_39a
    .catch Ljava/lang/RuntimeException; {:try_start_1af .. :try_end_1b4} :catch_117
    .catch Ljava/lang/Error; {:try_start_1af .. :try_end_1b4} :catch_113
    .catchall {:try_start_1af .. :try_end_1b4} :catchall_3b8

    .line 72
    :try_start_1b4
    iget-object v1, v7, Lcom/amazonaws/http/AmazonHttpClient;->a:Lcom/amazonaws/http/HttpClient;

    check-cast v1, Lcom/amazonaws/http/UrlHttpClient;

    invoke-virtual {v1, v4}, Lcom/amazonaws/http/UrlHttpClient;->a(Lcom/amazonaws/http/HttpRequest;)Lcom/amazonaws/http/HttpResponse;

    move-result-object v3
    :try_end_1bc
    .catchall {:try_start_1b4 .. :try_end_1bc} :catchall_37d

    .line 73
    :try_start_1bc
    invoke-virtual {v10, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    .line 74
    iget v0, v3, Lcom/amazonaws/http/HttpResponse;->b:I
    :try_end_1c1
    .catch Ljava/io/IOException; {:try_start_1bc .. :try_end_1c1} :catch_358
    .catch Ljava/lang/RuntimeException; {:try_start_1bc .. :try_end_1c1} :catch_372
    .catch Ljava/lang/Error; {:try_start_1bc .. :try_end_1c1} :catch_36c
    .catchall {:try_start_1bc .. :try_end_1c1} :catchall_366

    const/16 v1, 0xc8

    if-lt v0, v1, :cond_1cc

    const/16 v1, 0x12c

    if-ge v0, v1, :cond_1cc

    const/16 v24, 0x1

    goto :goto_1ce

    :cond_1cc
    const/16 v24, 0x0

    :goto_1ce
    if-eqz v24, :cond_210

    .line 75
    :try_start_1d0
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->StatusCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    invoke-virtual {v10, v1, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 76
    invoke-interface/range {p2 .. p2}, Lcom/amazonaws/http/HttpResponseHandler;->a()Z

    move-result v19

    move-object/from16 v1, p2

    .line 77
    invoke-virtual {v7, v1, v3, v9}, Lcom/amazonaws/http/AmazonHttpClient;->e(Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponse;Lcom/amazonaws/http/ExecutionContext;)Ljava/lang/Object;

    move-result-object v0

    .line 78
    new-instance v1, Lcom/amazonaws/Response;

    invoke-direct {v1, v0}, Lcom/amazonaws/Response;-><init>(Ljava/lang/Object;)V
    :try_end_1e8
    .catch Ljava/io/IOException; {:try_start_1d0 .. :try_end_1e8} :catch_208
    .catch Ljava/lang/RuntimeException; {:try_start_1d0 .. :try_end_1e8} :catch_203
    .catch Ljava/lang/Error; {:try_start_1d0 .. :try_end_1e8} :catch_1fe
    .catchall {:try_start_1d0 .. :try_end_1e8} :catchall_1f9

    if-nez v19, :cond_1f8

    .line 79
    :try_start_1ea
    iget-object v0, v3, Lcom/amazonaws/http/HttpResponse;->c:Ljava/io/InputStream;

    if-eqz v0, :cond_1f8

    .line 80
    invoke-virtual {v0}, Ljava/io/InputStream;->close()V
    :try_end_1f1
    .catch Ljava/io/IOException; {:try_start_1ea .. :try_end_1f1} :catch_1f2

    goto :goto_1f8

    :catch_1f2
    move-exception v0

    .line 81
    sget-object v3, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    invoke-interface {v3, v2, v0}, Lcom/amazonaws/logging/Log;->d(Ljava/lang/Object;Ljava/lang/Throwable;)V

    :cond_1f8
    :goto_1f8
    return-object v1

    :catchall_1f9
    move-exception v0

    move-object/from16 v22, v2

    goto/16 :goto_281

    :catch_1fe
    move-exception v0

    move-object/from16 v22, v2

    goto/16 :goto_286

    :catch_203
    move-exception v0

    move-object/from16 v22, v2

    goto/16 :goto_28a

    :catch_208
    move-exception v0

    move-object/from16 v22, v2

    move/from16 v23, v5

    :goto_20d
    const/4 v5, 0x0

    goto/16 :goto_28e

    .line 82
    :cond_210
    :try_start_210
    invoke-static {v3}, Lcom/amazonaws/http/AmazonHttpClient;->f(Lcom/amazonaws/http/HttpResponse;)Z

    move-result v0
    :try_end_214
    .catch Ljava/io/IOException; {:try_start_210 .. :try_end_214} :catch_358
    .catch Ljava/lang/RuntimeException; {:try_start_210 .. :try_end_214} :catch_372
    .catch Ljava/lang/Error; {:try_start_210 .. :try_end_214} :catch_36c
    .catchall {:try_start_210 .. :try_end_214} :catchall_366

    if-eqz v0, :cond_2a0

    .line 83
    :try_start_216
    iget-object v0, v3, Lcom/amazonaws/http/HttpResponse;->d:Ljava/util/Map;
    :try_end_218
    .catch Ljava/io/IOException; {:try_start_216 .. :try_end_218} :catch_29c
    .catch Ljava/lang/RuntimeException; {:try_start_216 .. :try_end_218} :catch_203
    .catch Ljava/lang/Error; {:try_start_216 .. :try_end_218} :catch_1fe
    .catchall {:try_start_216 .. :try_end_218} :catchall_1f9

    :try_start_218
    const-string v1, "Location"

    .line 84
    invoke-interface {v0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/String;

    .line 85
    sget-object v1, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;
    :try_end_222
    .catch Ljava/io/IOException; {:try_start_218 .. :try_end_222} :catch_208
    .catch Ljava/lang/RuntimeException; {:try_start_218 .. :try_end_222} :catch_203
    .catch Ljava/lang/Error; {:try_start_218 .. :try_end_222} :catch_1fe
    .catchall {:try_start_218 .. :try_end_222} :catchall_1f9

    move-object/from16 v22, v2

    :try_start_224
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
    :try_end_229
    .catch Ljava/io/IOException; {:try_start_224 .. :try_end_229} :catch_27d
    .catch Ljava/lang/RuntimeException; {:try_start_224 .. :try_end_229} :catch_27b
    .catch Ljava/lang/Error; {:try_start_224 .. :try_end_229} :catch_279
    .catchall {:try_start_224 .. :try_end_229} :catchall_277

    move/from16 v23, v5

    :try_start_22b
    const-string v5, "Redirecting to: "

    invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-interface {v1, v2}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    .line 86
    invoke-static {v0}, Ljava/net/URI;->create(Ljava/lang/String;)Ljava/net/URI;

    move-result-object v17

    .line 87
    move-object v1, v8

    check-cast v1, Lcom/amazonaws/DefaultRequest;
    :try_end_241
    .catch Ljava/io/IOException; {:try_start_22b .. :try_end_241} :catch_275
    .catch Ljava/lang/RuntimeException; {:try_start_22b .. :try_end_241} :catch_27b
    .catch Ljava/lang/Error; {:try_start_22b .. :try_end_241} :catch_279
    .catchall {:try_start_22b .. :try_end_241} :catchall_277

    const/4 v2, 0x0

    .line 88
    :try_start_242
    iput-object v2, v1, Lcom/amazonaws/DefaultRequest;->e:Ljava/net/URI;

    .line 89
    move-object v1, v8

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 90
    iput-object v2, v1, Lcom/amazonaws/DefaultRequest;->a:Ljava/lang/String;
    :try_end_249
    .catch Ljava/io/IOException; {:try_start_242 .. :try_end_249} :catch_272
    .catch Ljava/lang/RuntimeException; {:try_start_242 .. :try_end_249} :catch_27b
    .catch Ljava/lang/Error; {:try_start_242 .. :try_end_249} :catch_279
    .catchall {:try_start_242 .. :try_end_249} :catchall_277

    .line 91
    :try_start_249
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->StatusCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    .line 92
    iget v2, v3, Lcom/amazonaws/http/HttpResponse;->b:I

    .line 93
    invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    invoke-virtual {v10, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 94
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->RedirectLocation:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v1, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 95
    sget-object v0, Lcom/amazonaws/util/AWSRequestMetrics$Field;->AWSRequestID:Lcom/amazonaws/util/AWSRequestMetrics$Field;
    :try_end_25b
    .catch Ljava/io/IOException; {:try_start_249 .. :try_end_25b} :catch_275
    .catch Ljava/lang/RuntimeException; {:try_start_249 .. :try_end_25b} :catch_27b
    .catch Ljava/lang/Error; {:try_start_249 .. :try_end_25b} :catch_279
    .catchall {:try_start_249 .. :try_end_25b} :catchall_277

    const/4 v5, 0x0

    :try_start_25c
    invoke-virtual {v10, v0, v5}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V
    :try_end_25f
    .catch Ljava/io/IOException; {:try_start_25c .. :try_end_25f} :catch_270
    .catch Ljava/lang/RuntimeException; {:try_start_25c .. :try_end_25f} :catch_27b
    .catch Ljava/lang/Error; {:try_start_25c .. :try_end_25f} :catch_279
    .catchall {:try_start_25c .. :try_end_25f} :catchall_277

    move-object/from16 v18, v4

    move-wide/from16 v27, v12

    move-object/from16 v9, v22

    move/from16 v20, v23

    move-object v12, v5

    move-object/from16 v23, v6

    move-object/from16 v22, v11

    move-object v11, v3

    move-object v6, v12

    goto/16 :goto_30c

    :catch_270
    move-exception v0

    goto :goto_28e

    :catch_272
    move-exception v0

    move-object v5, v2

    goto :goto_28e

    :catch_275
    move-exception v0

    goto :goto_20d

    :catchall_277
    move-exception v0

    goto :goto_281

    :catch_279
    move-exception v0

    goto :goto_286

    :catch_27b
    move-exception v0

    goto :goto_28a

    :catch_27d
    move-exception v0

    :goto_27e
    move/from16 v23, v5

    goto :goto_20d

    :goto_281
    move-object v1, v0

    move-object/from16 v9, v22

    goto/16 :goto_469

    :goto_286
    move-object/from16 v9, v22

    goto/16 :goto_3be

    :goto_28a
    move-object/from16 v9, v22

    goto/16 :goto_3c7

    :goto_28e
    move-object/from16 v18, v6

    move-wide/from16 v27, v12

    move-object/from16 v9, v22

    move/from16 v20, v23

    move-object v13, v4

    move-object v12, v5

    move-object/from16 v22, v11

    goto/16 :goto_1a4

    :catch_29c
    move-exception v0

    move-object/from16 v22, v2

    goto :goto_27e

    :cond_2a0
    move-object/from16 v22, v2

    move/from16 v23, v5

    const/4 v5, 0x0

    .line 96
    :try_start_2a5
    invoke-interface/range {p3 .. p3}, Lcom/amazonaws/http/HttpResponseHandler;->a()Z

    move-result v19

    move-object/from16 v2, p3

    .line 97
    invoke-virtual {v7, v8, v2, v3}, Lcom/amazonaws/http/AmazonHttpClient;->d(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponse;)Lcom/amazonaws/AmazonServiceException;

    move-result-object v0

    .line 98
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->AWSRequestID:Lcom/amazonaws/util/AWSRequestMetrics$Field;
    :try_end_2b1
    .catch Ljava/io/IOException; {:try_start_2a5 .. :try_end_2b1} :catch_34d
    .catch Ljava/lang/RuntimeException; {:try_start_2a5 .. :try_end_2b1} :catch_348
    .catch Ljava/lang/Error; {:try_start_2a5 .. :try_end_2b1} :catch_343
    .catchall {:try_start_2a5 .. :try_end_2b1} :catchall_33e

    .line 99
    :try_start_2b1
    iget-object v5, v0, Lcom/amazonaws/AmazonServiceException;->a:Ljava/lang/String;

    .line 100
    invoke-virtual {v10, v1, v5}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 101
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->AWSErrorCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    .line 102
    iget-object v5, v0, Lcom/amazonaws/AmazonServiceException;->b:Ljava/lang/String;

    .line 103
    invoke-virtual {v10, v1, v5}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 104
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->StatusCode:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    .line 105
    iget v5, v0, Lcom/amazonaws/AmazonServiceException;->d:I

    .line 106
    invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v5

    invoke-virtual {v10, v1, v5}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 107
    move-object v1, v8

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 108
    iget-object v5, v1, Lcom/amazonaws/DefaultRequest;->g:Lcom/amazonaws/AmazonWebServiceRequest;

    .line 109
    iget-object v1, v4, Lcom/amazonaws/http/HttpRequest;->d:Ljava/io/InputStream;

    move-object/from16 v18, v1

    .line 110
    iget-object v1, v7, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 111
    iget-object v1, v1, Lcom/amazonaws/ClientConfiguration;->c:Lcom/amazonaws/retry/RetryPolicy;
    :try_end_2d5
    .catch Ljava/io/IOException; {:try_start_2b1 .. :try_end_2d5} :catch_32e
    .catch Ljava/lang/RuntimeException; {:try_start_2b1 .. :try_end_2d5} :catch_348
    .catch Ljava/lang/Error; {:try_start_2b1 .. :try_end_2d5} :catch_343
    .catchall {:try_start_2b1 .. :try_end_2d5} :catchall_33e

    move-object/from16 v21, v1

    move-object/from16 v1, p0

    move-object/from16 v9, v22

    move-object v2, v5

    move-object v5, v3

    move-object/from16 v3, v18

    move-object/from16 v18, v4

    move-object v4, v0

    move-object/from16 v22, v11

    move/from16 v20, v23

    const/16 v23, 0x0

    move-object v11, v5

    move/from16 v5, v20

    move-wide/from16 v27, v12

    move-object/from16 v12, v23

    move-object/from16 v23, v6

    move-object/from16 v6, v21

    .line 112
    :try_start_2f3
    invoke-virtual/range {v1 .. v6}, Lcom/amazonaws/http/AmazonHttpClient;->j(Lcom/amazonaws/AmazonWebServiceRequest;Ljava/io/InputStream;Lcom/amazonaws/AmazonClientException;ILcom/amazonaws/retry/RetryPolicy;)Z

    move-result v1

    if-eqz v1, :cond_324

    .line 113
    invoke-static {v0}, Lcom/amazonaws/retry/RetryUtils;->a(Lcom/amazonaws/AmazonServiceException;)Z

    move-result v1

    if-eqz v1, :cond_308

    .line 114
    invoke-virtual {v7, v11, v0}, Lcom/amazonaws/http/AmazonHttpClient;->g(Lcom/amazonaws/http/HttpResponse;Lcom/amazonaws/AmazonServiceException;)J

    move-result-wide v1

    .line 115
    sget-object v3, Lcom/amazonaws/SDKGlobalConfiguration;->a:Ljava/util/concurrent/atomic/AtomicLong;

    invoke-virtual {v3, v1, v2}, Ljava/util/concurrent/atomic/AtomicLong;->set(J)V

    .line 116
    :cond_308
    invoke-virtual {v7, v8, v0}, Lcom/amazonaws/http/AmazonHttpClient;->i(Lcom/amazonaws/Request;Ljava/lang/Exception;)V
    :try_end_30b
    .catch Ljava/io/IOException; {:try_start_2f3 .. :try_end_30b} :catch_32b
    .catch Ljava/lang/RuntimeException; {:try_start_2f3 .. :try_end_30b} :catch_328
    .catch Ljava/lang/Error; {:try_start_2f3 .. :try_end_30b} :catch_325
    .catchall {:try_start_2f3 .. :try_end_30b} :catchall_466

    move-object v6, v0

    :goto_30c
    if-nez v19, :cond_31c

    .line 117
    :try_start_30e
    iget-object v0, v11, Lcom/amazonaws/http/HttpResponse;->c:Ljava/io/InputStream;

    if-eqz v0, :cond_31c

    .line 118
    invoke-virtual {v0}, Ljava/io/InputStream;->close()V
    :try_end_315
    .catch Ljava/io/IOException; {:try_start_30e .. :try_end_315} :catch_316

    goto :goto_31c

    :catch_316
    move-exception v0

    .line 119
    sget-object v1, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    invoke-interface {v1, v9, v0}, Lcom/amazonaws/logging/Log;->d(Ljava/lang/Object;Ljava/lang/Throwable;)V

    :cond_31c
    :goto_31c
    move-object v4, v6

    move-object v3, v11

    move-object/from16 v5, v18

    move-object/from16 v18, v23

    goto/16 :goto_457

    .line 120
    :cond_324
    :try_start_324
    throw v0
    :try_end_325
    .catch Ljava/io/IOException; {:try_start_324 .. :try_end_325} :catch_32b
    .catch Ljava/lang/RuntimeException; {:try_start_324 .. :try_end_325} :catch_328
    .catch Ljava/lang/Error; {:try_start_324 .. :try_end_325} :catch_325
    .catchall {:try_start_324 .. :try_end_325} :catchall_466

    :catch_325
    move-exception v0

    goto/16 :goto_36f

    :catch_328
    move-exception v0

    goto/16 :goto_375

    :catch_32b
    move-exception v0

    goto/16 :goto_377

    :catch_32e
    move-exception v0

    move-object/from16 v18, v4

    move-wide/from16 v27, v12

    move-object/from16 v9, v22

    move/from16 v20, v23

    const/4 v12, 0x0

    :goto_338
    move-object/from16 v23, v6

    move-object/from16 v22, v11

    :goto_33c
    move-object v11, v3

    goto :goto_377

    :catchall_33e
    move-exception v0

    move-object v11, v3

    move-object/from16 v9, v22

    goto :goto_369

    :catch_343
    move-exception v0

    move-object v11, v3

    move-object/from16 v9, v22

    goto :goto_36f

    :catch_348
    move-exception v0

    move-object v11, v3

    move-object/from16 v9, v22

    goto :goto_375

    :catch_34d
    move-exception v0

    move-object/from16 v18, v4

    move-wide/from16 v27, v12

    move-object/from16 v9, v22

    move/from16 v20, v23

    move-object v12, v5

    goto :goto_338

    :catch_358
    move-exception v0

    move-object v9, v2

    move-object/from16 v18, v4

    move/from16 v20, v5

    move-object/from16 v23, v6

    move-object/from16 v22, v11

    move-wide/from16 v27, v12

    const/4 v12, 0x0

    goto :goto_33c

    :catchall_366
    move-exception v0

    move-object v9, v2

    move-object v11, v3

    :goto_369
    move-object v3, v11

    goto/16 :goto_3bb

    :catch_36c
    move-exception v0

    move-object v9, v2

    move-object v11, v3

    :goto_36f
    move-object v3, v11

    goto/16 :goto_3be

    :catch_372
    move-exception v0

    move-object v9, v2

    move-object v11, v3

    :goto_375
    move-object v3, v11

    goto :goto_3c7

    :goto_377
    move-object/from16 v13, v18

    move-object/from16 v18, v23

    goto/16 :goto_3dd

    :catchall_37d
    move-exception v0

    move-object v9, v2

    move-object/from16 v18, v4

    move/from16 v20, v5

    move-object/from16 v23, v6

    move-object/from16 v22, v11

    move-wide/from16 v27, v12

    const/4 v12, 0x0

    .line 121
    :try_start_38a
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->HttpRequestTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    .line 122
    throw v0
    :try_end_390
    .catch Ljava/io/IOException; {:try_start_38a .. :try_end_390} :catch_396
    .catch Ljava/lang/RuntimeException; {:try_start_38a .. :try_end_390} :catch_394
    .catch Ljava/lang/Error; {:try_start_38a .. :try_end_390} :catch_392
    .catchall {:try_start_38a .. :try_end_390} :catchall_390

    :catchall_390
    move-exception v0

    goto :goto_3bb

    :catch_392
    move-exception v0

    goto :goto_3be

    :catch_394
    move-exception v0

    goto :goto_3c7

    :catch_396
    move-exception v0

    :goto_397
    move-object/from16 v5, v18

    goto :goto_3b5

    :catch_39a
    move-exception v0

    move-object v9, v2

    move-object/from16 v18, v4

    move/from16 v20, v5

    move-object/from16 v23, v6

    move-object/from16 v22, v11

    move-wide/from16 v27, v12

    const/4 v12, 0x0

    goto :goto_397

    :catch_3a8
    move-exception v0

    move-object v9, v2

    move/from16 v20, v5

    move-object/from16 v23, v6

    move-object/from16 v22, v11

    move-wide/from16 v27, v12

    const/4 v12, 0x0

    move-object/from16 v5, v21

    :goto_3b5
    move-object/from16 v18, v23

    goto :goto_3db

    :catchall_3b8
    move-exception v0

    goto/16 :goto_195

    :goto_3bb
    move-object v1, v0

    goto/16 :goto_469

    .line 123
    :goto_3be
    :try_start_3be
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->Exception:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->c(Lcom/amazonaws/metrics/MetricType;)V

    .line 124
    invoke-virtual {v10, v1, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 125
    throw v0

    .line 126
    :goto_3c7
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->Exception:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->c(Lcom/amazonaws/metrics/MetricType;)V

    .line 127
    invoke-virtual {v10, v1, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 128
    throw v0
    :try_end_3d0
    .catchall {:try_start_3be .. :try_end_3d0} :catchall_390

    :catch_3d0
    move-exception v0

    move-object v9, v2

    move/from16 v20, v5

    move-object/from16 v22, v11

    move-wide/from16 v27, v12

    const/4 v12, 0x0

    move-object/from16 v5, v21

    :goto_3db
    move-object v11, v3

    move-object v13, v5

    .line 129
    :goto_3dd
    :try_start_3dd
    sget-object v1, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    invoke-interface {v1}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result v2
    :try_end_3e3
    .catchall {:try_start_3dd .. :try_end_3e3} :catchall_466

    const-string v3, "Unable to execute HTTP request: "

    if-eqz v2, :cond_3fd

    .line 130
    :try_start_3e7
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-interface {v1, v2, v0}, Lcom/amazonaws/logging/Log;->b(Ljava/lang/Object;Ljava/lang/Throwable;)V

    .line 131
    :cond_3fd
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->Exception:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->c(Lcom/amazonaws/metrics/MetricType;)V

    .line 132
    invoke-virtual {v10, v1, v0}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 133
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->AWSRequestID:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {v10, v1, v12}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 134
    new-instance v6, Lcom/amazonaws/AmazonClientException;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 135
    invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v6, v1, v0}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    .line 136
    move-object v1, v8

    check-cast v1, Lcom/amazonaws/DefaultRequest;

    .line 137
    iget-object v2, v1, Lcom/amazonaws/DefaultRequest;->g:Lcom/amazonaws/AmazonWebServiceRequest;

    .line 138
    iget-object v3, v13, Lcom/amazonaws/http/HttpRequest;->d:Ljava/io/InputStream;

    .line 139
    iget-object v1, v7, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 140
    iget-object v5, v1, Lcom/amazonaws/ClientConfiguration;->c:Lcom/amazonaws/retry/RetryPolicy;

    move-object/from16 v1, p0

    move-object v4, v6

    move-object/from16 v21, v5

    move/from16 v5, v20

    move-object/from16 v23, v6

    move-object/from16 v6, v21

    .line 141
    invoke-virtual/range {v1 .. v6}, Lcom/amazonaws/http/AmazonHttpClient;->j(Lcom/amazonaws/AmazonWebServiceRequest;Ljava/io/InputStream;Lcom/amazonaws/AmazonClientException;ILcom/amazonaws/retry/RetryPolicy;)Z

    move-result v1

    if-eqz v1, :cond_465

    .line 142
    invoke-virtual {v7, v8, v0}, Lcom/amazonaws/http/AmazonHttpClient;->i(Lcom/amazonaws/Request;Ljava/lang/Exception;)V
    :try_end_441
    .catchall {:try_start_3e7 .. :try_end_441} :catchall_466

    if-nez v19, :cond_453

    if-eqz v11, :cond_453

    .line 143
    :try_start_445
    iget-object v0, v11, Lcom/amazonaws/http/HttpResponse;->c:Ljava/io/InputStream;

    if-eqz v0, :cond_453

    .line 144
    invoke-virtual {v0}, Ljava/io/InputStream;->close()V
    :try_end_44c
    .catch Ljava/io/IOException; {:try_start_445 .. :try_end_44c} :catch_44d

    goto :goto_453

    :catch_44d
    move-exception v0

    .line 145
    sget-object v1, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    invoke-interface {v1, v9, v0}, Lcom/amazonaws/logging/Log;->d(Ljava/lang/Object;Ljava/lang/Throwable;)V

    :cond_453
    :goto_453
    move-object v3, v11

    move-object v5, v13

    move-object/from16 v4, v23

    :goto_457
    move-wide/from16 v1, v27

    move-object/from16 v9, p4

    move/from16 v0, v20

    move-object/from16 v11, v22

    move-object/from16 v12, v25

    move-object/from16 v13, v26

    goto/16 :goto_8b

    .line 146
    :cond_465
    :try_start_465
    throw v23
    :try_end_466
    .catchall {:try_start_465 .. :try_end_466} :catchall_466

    :catchall_466
    move-exception v0

    goto/16 :goto_369

    :goto_469
    if-nez v19, :cond_47b

    if-eqz v3, :cond_47b

    .line 147
    :try_start_46d
    iget-object v0, v3, Lcom/amazonaws/http/HttpResponse;->c:Ljava/io/InputStream;

    if-eqz v0, :cond_47b

    .line 148
    invoke-virtual {v0}, Ljava/io/InputStream;->close()V
    :try_end_474
    .catch Ljava/io/IOException; {:try_start_46d .. :try_end_474} :catch_475

    goto :goto_47b

    :catch_475
    move-exception v0

    .line 149
    sget-object v2, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    invoke-interface {v2, v9, v0}, Lcom/amazonaws/logging/Log;->d(Ljava/lang/Object;Ljava/lang/Throwable;)V

    .line 150
    :cond_47b
    :goto_47b
    throw v1
.end method

.method public final d(Lcom/amazonaws/Request;Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponse;)Lcom/amazonaws/AmazonServiceException;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Lcom/amazonaws/http/HttpResponseHandler<",
            "Lcom/amazonaws/AmazonServiceException;",
            ">;",
            "Lcom/amazonaws/http/HttpResponse;",
            ")",
            "Lcom/amazonaws/AmazonServiceException;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 1
    iget v0, p3, Lcom/amazonaws/http/HttpResponse;->b:I

    .line 2
    :try_start_2
    invoke-interface {p2, p3}, Lcom/amazonaws/http/HttpResponseHandler;->b(Lcom/amazonaws/http/HttpResponse;)Ljava/lang/Object;

    move-result-object p2

    check-cast p2, Lcom/amazonaws/AmazonServiceException;

    .line 3
    sget-object v1, Lcom/amazonaws/http/AmazonHttpClient;->d:Lcom/amazonaws/logging/Log;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Received error response: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-interface {v1, v2}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V
    :try_end_22
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_22} :catch_23

    goto :goto_5f

    :catch_23
    move-exception p2

    const/16 v1, 0x19d

    if-ne v0, v1, :cond_3d

    .line 4
    new-instance p2, Lcom/amazonaws/AmazonServiceException;

    const-string p3, "Request entity too large"

    invoke-direct {p2, p3}, Lcom/amazonaws/AmazonServiceException;-><init>(Ljava/lang/String;)V

    .line 5
    move-object v2, p1

    check-cast v2, Lcom/amazonaws/DefaultRequest;

    .line 6
    iget-object v2, v2, Lcom/amazonaws/DefaultRequest;->f:Ljava/lang/String;

    .line 7
    iput-object v2, p2, Lcom/amazonaws/AmazonServiceException;->e:Ljava/lang/String;

    .line 8
    iput v1, p2, Lcom/amazonaws/AmazonServiceException;->d:I

    .line 9
    sget-object v1, Lcom/amazonaws/AmazonServiceException$ErrorType;->Client:Lcom/amazonaws/AmazonServiceException$ErrorType;

    .line 10
    iput-object p3, p2, Lcom/amazonaws/AmazonServiceException;->b:Ljava/lang/String;

    goto :goto_5f

    :cond_3d
    const/16 v1, 0x1f7

    if-ne v0, v1, :cond_6b

    .line 11
    iget-object v2, p3, Lcom/amazonaws/http/HttpResponse;->a:Ljava/lang/String;

    const-string v3, "Service Unavailable"

    .line 12
    invoke-virtual {v3, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v2

    if-eqz v2, :cond_6b

    .line 13
    new-instance p2, Lcom/amazonaws/AmazonServiceException;

    const-string p3, "Service unavailable"

    invoke-direct {p2, p3}, Lcom/amazonaws/AmazonServiceException;-><init>(Ljava/lang/String;)V

    .line 14
    move-object v2, p1

    check-cast v2, Lcom/amazonaws/DefaultRequest;

    .line 15
    iget-object v2, v2, Lcom/amazonaws/DefaultRequest;->f:Ljava/lang/String;

    .line 16
    iput-object v2, p2, Lcom/amazonaws/AmazonServiceException;->e:Ljava/lang/String;

    .line 17
    iput v1, p2, Lcom/amazonaws/AmazonServiceException;->d:I

    .line 18
    sget-object v1, Lcom/amazonaws/AmazonServiceException$ErrorType;->Service:Lcom/amazonaws/AmazonServiceException$ErrorType;

    .line 19
    iput-object p3, p2, Lcom/amazonaws/AmazonServiceException;->b:Ljava/lang/String;

    .line 20
    :goto_5f
    iput v0, p2, Lcom/amazonaws/AmazonServiceException;->d:I

    .line 21
    check-cast p1, Lcom/amazonaws/DefaultRequest;

    .line 22
    iget-object p1, p1, Lcom/amazonaws/DefaultRequest;->f:Ljava/lang/String;

    .line 23
    iput-object p1, p2, Lcom/amazonaws/AmazonServiceException;->e:Ljava/lang/String;

    .line 24
    invoke-virtual {p2}, Ljava/lang/Throwable;->fillInStackTrace()Ljava/lang/Throwable;

    return-object p2

    .line 25
    :cond_6b
    instance-of p1, p2, Ljava/io/IOException;

    if-eqz p1, :cond_72

    .line 26
    check-cast p2, Ljava/io/IOException;

    throw p2

    :cond_72
    const-string p1, "Unable to unmarshall error response ("

    .line 27
    invoke-static {p1}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p1

    .line 28
    invoke-virtual {p2}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "). Response Code: "

    invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v0, ", Response Text: "

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 29
    iget-object v0, p3, Lcom/amazonaws/http/HttpResponse;->a:Ljava/lang/String;

    .line 30
    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v0, ", Response Headers: "

    invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 31
    iget-object p3, p3, Lcom/amazonaws/http/HttpResponse;->d:Ljava/util/Map;

    .line 32
    invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    .line 33
    new-instance p3, Lcom/amazonaws/AmazonClientException;

    invoke-direct {p3, p1, p2}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw p3
.end method

.method public final e(Lcom/amazonaws/http/HttpResponseHandler;Lcom/amazonaws/http/HttpResponse;Lcom/amazonaws/http/ExecutionContext;)Ljava/lang/Object;
    .registers 8
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Lcom/amazonaws/http/HttpResponseHandler<",
            "Lcom/amazonaws/AmazonWebServiceResponse<",
            "TT;>;>;",
            "Lcom/amazonaws/http/HttpResponse;",
            "Lcom/amazonaws/http/ExecutionContext;",
            ")TT;"
        }
    .end annotation

    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    const-string v0, ", Response Text: "

    .line 1
    :try_start_2
    iget-object p3, p3, Lcom/amazonaws/http/ExecutionContext;->a:Lcom/amazonaws/util/AWSRequestMetrics;

    .line 2
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ResponseProcessingTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {p3, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->e(Lcom/amazonaws/metrics/MetricType;)V
    :try_end_9
    .catch Ljava/io/IOException; {:try_start_2 .. :try_end_9} :catch_9c
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_9} :catch_72

    .line 3
    :try_start_9
    invoke-interface {p1, p2}, Lcom/amazonaws/http/HttpResponseHandler;->b(Lcom/amazonaws/http/HttpResponse;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcom/amazonaws/AmazonWebServiceResponse;
    :try_end_f
    .catchall {:try_start_9 .. :try_end_f} :catchall_6b

    .line 4
    :try_start_f
    invoke-virtual {p3, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    if-eqz p1, :cond_4a

    .line 5
    sget-object v1, Lcom/amazonaws/http/AmazonHttpClient;->d:Lcom/amazonaws/logging/Log;

    invoke-interface {v1}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result v2

    if-eqz v2, :cond_3e

    .line 6
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Received successful response: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 7
    iget v3, p2, Lcom/amazonaws/http/HttpResponse;->b:I

    .line 8
    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, ", AWS Request ID: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 9
    invoke-virtual {p1}, Lcom/amazonaws/AmazonWebServiceResponse;->a()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 10
    invoke-interface {v1, v2}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    .line 11
    :cond_3e
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->AWSRequestID:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {p1}, Lcom/amazonaws/AmazonWebServiceResponse;->a()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p3, v1, v2}, Lcom/amazonaws/util/AWSRequestMetrics;->a(Lcom/amazonaws/metrics/MetricType;Ljava/lang/Object;)V

    .line 12
    iget-object p1, p1, Lcom/amazonaws/AmazonWebServiceResponse;->a:Ljava/lang/Object;

    return-object p1

    .line 13
    :cond_4a
    new-instance p1, Ljava/lang/RuntimeException;

    new-instance p3, Ljava/lang/StringBuilder;

    invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "Unable to unmarshall response metadata. Response Code: "

    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 14
    iget v1, p2, Lcom/amazonaws/http/HttpResponse;->b:I

    .line 15
    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 16
    iget-object v1, p2, Lcom/amazonaws/http/HttpResponse;->a:Ljava/lang/String;

    .line 17
    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    invoke-direct {p1, p3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    throw p1

    :catchall_6b
    move-exception p1

    .line 18
    sget-object v1, Lcom/amazonaws/util/AWSRequestMetrics$Field;->ResponseProcessingTime:Lcom/amazonaws/util/AWSRequestMetrics$Field;

    invoke-virtual {p3, v1}, Lcom/amazonaws/util/AWSRequestMetrics;->b(Lcom/amazonaws/metrics/MetricType;)V

    .line 19
    throw p1
    :try_end_72
    .catch Ljava/io/IOException; {:try_start_f .. :try_end_72} :catch_9c
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_72} :catch_72

    :catch_72
    move-exception p1

    const-string p3, "Unable to unmarshall response ("

    .line 20
    invoke-static {p3}, Landroid/support/v4/media/c;->c(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object p3

    .line 21
    invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, "). Response Code: "

    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 22
    iget v1, p2, Lcom/amazonaws/http/HttpResponse;->b:I

    .line 23
    invoke-virtual {p3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 24
    iget-object p2, p2, Lcom/amazonaws/http/HttpResponse;->a:Ljava/lang/String;

    .line 25
    invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p2

    .line 26
    new-instance p3, Lcom/amazonaws/AmazonClientException;

    invoke-direct {p3, p2, p1}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw p3

    :catch_9c
    move-exception p1

    .line 27
    throw p1
.end method

.method public final finalize()V
    .registers 2
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/lang/Throwable;
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lcom/amazonaws/http/AmazonHttpClient;->a:Lcom/amazonaws/http/HttpClient;

    invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;

    .line 2
    invoke-super {p0}, Ljava/lang/Object;->finalize()V

    return-void
.end method

.method public final g(Lcom/amazonaws/http/HttpResponse;Lcom/amazonaws/AmazonServiceException;)J
    .registers 6

    .line 1
    new-instance v0, Ljava/util/Date;

    invoke-direct {v0}, Ljava/util/Date;-><init>()V

    .line 2
    iget-object p1, p1, Lcom/amazonaws/http/HttpResponse;->d:Ljava/util/Map;

    const-string v1, "Date"

    .line 3
    invoke-interface {p1, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Ljava/lang/String;

    if-eqz p1, :cond_1f

    .line 4
    :try_start_11
    invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z

    move-result v1
    :try_end_15
    .catch Ljava/lang/RuntimeException; {:try_start_11 .. :try_end_15} :catch_56

    if-eqz v1, :cond_18

    goto :goto_1f

    .line 5
    :cond_18
    :try_start_18
    invoke-static {p1}, Lcom/amazonaws/util/DateUtils;->e(Ljava/lang/String;)Ljava/util/Date;

    move-result-object p1
    :try_end_1c
    .catch Ljava/lang/RuntimeException; {:try_start_18 .. :try_end_1c} :catch_1d

    goto :goto_49

    :catch_1d
    move-exception p2

    goto :goto_59

    .line 6
    :cond_1f
    :goto_1f
    :try_start_1f
    invoke-virtual {p2}, Lcom/amazonaws/AmazonServiceException;->getMessage()Ljava/lang/String;

    move-result-object p1

    const-string p2, "("

    .line 7
    invoke-virtual {p1, p2}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result p2

    const-string v1, " + 15"

    .line 8
    invoke-virtual {p1, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v2

    if-eqz v2, :cond_36

    .line 9
    invoke-virtual {p1, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v1

    goto :goto_3c

    :cond_36
    const-string v1, " - 15"

    .line 10
    invoke-virtual {p1, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v1

    :goto_3c
    add-int/lit8 p2, p2, 0x1

    .line 11
    invoke-virtual {p1, p2, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object p1
    :try_end_42
    .catch Ljava/lang/RuntimeException; {:try_start_1f .. :try_end_42} :catch_56

    :try_start_42
    const-string/jumbo p2, "yyyyMMdd\'T\'HHmmss\'Z\'"

    .line 12
    invoke-static {p2, p1}, Lcom/amazonaws/util/DateUtils;->d(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Date;

    move-result-object p1
    :try_end_49
    .catch Ljava/lang/RuntimeException; {:try_start_42 .. :try_end_49} :catch_1d

    .line 13
    :goto_49
    invoke-virtual {v0}, Ljava/util/Date;->getTime()J

    move-result-wide v0

    invoke-virtual {p1}, Ljava/util/Date;->getTime()J

    move-result-wide p1

    sub-long/2addr v0, p1

    const-wide/16 p1, 0x3e8

    .line 14
    div-long/2addr v0, p1

    return-wide v0

    :catch_56
    move-exception p1

    move-object p2, p1

    const/4 p1, 0x0

    .line 15
    :goto_59
    sget-object v0, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "Unable to parse clock skew offset from response: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    invoke-interface {v0, p1, p2}, Lcom/amazonaws/logging/Log;->d(Ljava/lang/Object;Ljava/lang/Throwable;)V

    const-wide/16 p1, 0x0

    return-wide p1
.end method

.method public final h(Lcom/amazonaws/AmazonWebServiceRequest;Lcom/amazonaws/AmazonClientException;ILcom/amazonaws/retry/RetryPolicy;)J
    .registers 7

    add-int/lit8 p3, p3, -0x1

    add-int/lit8 p3, p3, -0x1

    .line 1
    iget-object p1, p4, Lcom/amazonaws/retry/RetryPolicy;->b:Lcom/amazonaws/retry/RetryPolicy$BackoffStrategy;

    .line 2
    invoke-interface {p1, p3}, Lcom/amazonaws/retry/RetryPolicy$BackoffStrategy;->a(I)J

    move-result-wide p1

    .line 3
    sget-object p4, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    invoke-interface {p4}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result v0

    if-eqz v0, :cond_2e

    .line 4
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "Retriable error detected, will retry in "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    const-string v1, "ms, attempt number: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    invoke-interface {p4, p3}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    .line 5
    :cond_2e
    :try_start_2e
    invoke-static {p1, p2}, Ljava/lang/Thread;->sleep(J)V
    :try_end_31
    .catch Ljava/lang/InterruptedException; {:try_start_2e .. :try_end_31} :catch_32

    return-wide p1

    :catch_32
    move-exception p1

    .line 6
    invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;

    move-result-object p2

    invoke-virtual {p2}, Ljava/lang/Thread;->interrupt()V

    .line 7
    new-instance p2, Lcom/amazonaws/AmazonClientException;

    invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object p3

    invoke-direct {p2, p3, p1}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw p2
.end method

.method public final i(Lcom/amazonaws/Request;Ljava/lang/Exception;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lcom/amazonaws/Request<",
            "*>;",
            "Ljava/lang/Exception;",
            ")V"
        }
    .end annotation

    .line 1
    move-object v0, p1

    check-cast v0, Lcom/amazonaws/DefaultRequest;

    .line 2
    iget-object v0, v0, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    if-nez v0, :cond_8

    return-void

    .line 3
    :cond_8
    invoke-virtual {v0}, Ljava/io/InputStream;->markSupported()Z

    move-result v0

    if-eqz v0, :cond_1e

    .line 4
    :try_start_e
    check-cast p1, Lcom/amazonaws/DefaultRequest;

    .line 5
    iget-object p1, p1, Lcom/amazonaws/DefaultRequest;->i:Ljava/io/InputStream;

    .line 6
    invoke-virtual {p1}, Ljava/io/InputStream;->reset()V
    :try_end_15
    .catch Ljava/io/IOException; {:try_start_e .. :try_end_15} :catch_16

    return-void

    .line 7
    :catch_16
    new-instance p1, Lcom/amazonaws/AmazonClientException;

    const-string v0, "Encountered an exception and couldn\'t reset the stream to retry"

    invoke-direct {p1, v0, p2}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw p1

    .line 8
    :cond_1e
    new-instance p1, Lcom/amazonaws/AmazonClientException;

    const-string v0, "Encountered an exception and stream is not resettable"

    invoke-direct {p1, v0, p2}, Lcom/amazonaws/AmazonClientException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V

    throw p1
.end method

.method public final j(Lcom/amazonaws/AmazonWebServiceRequest;Ljava/io/InputStream;Lcom/amazonaws/AmazonClientException;ILcom/amazonaws/retry/RetryPolicy;)Z
    .registers 7

    add-int/lit8 p4, p4, -0x1

    .line 1
    iget-object p1, p0, Lcom/amazonaws/http/AmazonHttpClient;->b:Lcom/amazonaws/ClientConfiguration;

    .line 2
    iget p1, p1, Lcom/amazonaws/ClientConfiguration;->b:I

    if-ltz p1, :cond_c

    .line 3
    iget-boolean v0, p5, Lcom/amazonaws/retry/RetryPolicy;->d:Z

    if-nez v0, :cond_e

    .line 4
    :cond_c
    iget p1, p5, Lcom/amazonaws/retry/RetryPolicy;->c:I

    :cond_e
    const/4 v0, 0x0

    if-lt p4, p1, :cond_12

    return v0

    :cond_12
    if-eqz p2, :cond_28

    .line 5
    invoke-virtual {p2}, Ljava/io/InputStream;->markSupported()Z

    move-result p1

    if-nez p1, :cond_28

    .line 6
    sget-object p1, Lcom/amazonaws/http/AmazonHttpClient;->e:Lcom/amazonaws/logging/Log;

    invoke-interface {p1}, Lcom/amazonaws/logging/Log;->isDebugEnabled()Z

    move-result p2

    if-eqz p2, :cond_27

    const-string p2, "Content not repeatable"

    .line 7
    invoke-interface {p1, p2}, Lcom/amazonaws/logging/Log;->f(Ljava/lang/Object;)V

    :cond_27
    return v0

    .line 8
    :cond_28
    iget-object p1, p5, Lcom/amazonaws/retry/RetryPolicy;->a:Lcom/amazonaws/retry/RetryPolicy$RetryCondition;

    .line 9
    invoke-interface {p1, p3, p4}, Lcom/amazonaws/retry/RetryPolicy$RetryCondition;->a(Lcom/amazonaws/AmazonClientException;I)Z

    move-result p1

    return p1
.end method