HttpUtils.smali

.class public Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;
.super Ljava/lang/Object;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$SSLSessionNPEFixInterceptor;,
        Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$HttpServerIpInterceptor;,
        Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$StatDns;
    }
.end annotation


# static fields
.field private static final HTTP_READ_TIME_OUT:I = 0xea60

.field private static final HTTP_TIME_OUT:I = 0x9c40

.field public static final MAX_REQUEST:I = 0x5

.field public static final MAX_REQUEST_BACKGROUND:I = 0x3

.field public static final MAX_REQUEST_PRE_HOST:I = 0x5

.field private static final TAG:Ljava/lang/String; = "BLiveStatisSDK"


# instance fields
.field private ADDRESSES:[Ljava/lang/String;

.field private final HOST_CAN_REPLACE_CACHE:Ljava/util/concurrent/ConcurrentHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/ConcurrentHashMap<",
            "Ljava/lang/String;",
            "Ljava/lang/Boolean;",
            ">;"
        }
    .end annotation
.end field

.field private final mConfig:Lsg/bigo/sdk/blivestat/config/IStatisConfig;

.field private mEventListener:Lokhttp3/p;

.field private final mHttpClient:Lokhttp3/x;

.field private mInterceptors:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lokhttp3/u;",
            ">;"
        }
    .end annotation
.end field

.field private sBackupHostObject:Lorg/json/JSONObject;

.field private sExternDns:Lsg/bigo/sdk/blivestat/config/IDnsConfig;


# direct methods
.method public constructor <init>(Lsg/bigo/sdk/blivestat/config/IStatisConfig;)V
    .registers 15

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

    const-string v0, "139.5.108.199"

    const-string v1, "43.230.89.200"

    const-string v2, "45.124.252.203"

    const-string v3, "45.124.252.206"

    const-string v4, "139.5.109.220"

    const-string v5, "139.5.109.221"

    const-string v6, "139.5.109.222"

    const-string v7, "139.5.109.223"

    const-string v8, "139.5.109.224"

    const-string v9, "139.5.109.225"

    const-string v10, "139.5.109.226"

    const-string v11, "139.5.109.227"

    const-string v12, "43.230.89.207"

    .line 44
    filled-new-array/range {v0 .. v12}, [Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->ADDRESSES:[Ljava/lang/String;

    .line 50
    new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;

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

    iput-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->HOST_CAN_REPLACE_CACHE:Ljava/util/concurrent/ConcurrentHashMap;

    const/4 v0, 0x0

    .line 122
    iput-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->sBackupHostObject:Lorg/json/JSONObject;

    .line 59
    iput-object p1, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mConfig:Lsg/bigo/sdk/blivestat/config/IStatisConfig;

    .line 60
    new-instance p1, Lokhttp3/x$a;

    invoke-direct {p1}, Lokhttp3/x$a;-><init>()V

    sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;

    const-wide/32 v2, 0x9c40

    .line 61
    invoke-virtual {p1, v2, v3, v1}, Lokhttp3/x$a;->a(JLjava/util/concurrent/TimeUnit;)Lokhttp3/x$a;

    move-result-object p1

    sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;

    const-wide/32 v2, 0xea60

    .line 62
    invoke-virtual {p1, v2, v3, v1}, Lokhttp3/x$a;->b(JLjava/util/concurrent/TimeUnit;)Lokhttp3/x$a;

    move-result-object p1

    sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;

    .line 63
    invoke-virtual {p1, v2, v3, v1}, Lokhttp3/x$a;->c(JLjava/util/concurrent/TimeUnit;)Lokhttp3/x$a;

    move-result-object p1

    const/4 v1, 0x0

    .line 1905
    iput-boolean v1, p1, Lokhttp3/x$a;->w:Z

    .line 64
    new-instance v1, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$SSLSessionNPEFixInterceptor;

    invoke-direct {v1, p0}, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$SSLSessionNPEFixInterceptor;-><init>(Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;)V

    .line 65
    invoke-virtual {p1, v1}, Lokhttp3/x$a;->a(Lokhttp3/u;)Lokhttp3/x$a;

    move-result-object p1

    new-instance v1, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$HttpServerIpInterceptor;

    invoke-direct {v1, p0, v0}, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$HttpServerIpInterceptor;-><init>(Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$1;)V

    .line 66
    invoke-virtual {p1, v1}, Lokhttp3/x$a;->b(Lokhttp3/u;)Lokhttp3/x$a;

    move-result-object p1

    new-instance v1, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$StatDns;

    invoke-direct {v1, p0, v0}, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$StatDns;-><init>(Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;Lsg/bigo/sdk/blivestat/sender/http/HttpUtils$1;)V

    .line 67
    invoke-virtual {p1, v1}, Lokhttp3/x$a;->a(Lokhttp3/o;)Lokhttp3/x$a;

    move-result-object p1

    sget-object v0, Ljava/net/Proxy;->NO_PROXY:Ljava/net/Proxy;

    .line 2688
    iput-object v0, p1, Lokhttp3/x$a;->b:Ljava/net/Proxy;

    .line 69
    iget-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mInterceptors:Ljava/util/List;

    if-eqz v0, :cond_86

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

    move-result-object v0

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

    move-result v1

    if-eqz v1, :cond_86

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

    move-result-object v1

    check-cast v1, Lokhttp3/u;

    .line 71
    invoke-virtual {p1, v1}, Lokhttp3/x$a;->b(Lokhttp3/u;)Lokhttp3/x$a;

    goto :goto_76

    .line 74
    :cond_86
    iget-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mEventListener:Lokhttp3/p;

    if-eqz v0, :cond_8d

    .line 75
    invoke-virtual {p1, v0}, Lokhttp3/x$a;->a(Lokhttp3/p;)Lokhttp3/x$a;

    .line 77
    :cond_8d
    invoke-virtual {p1}, Lokhttp3/x$a;->b()Lokhttp3/x;

    move-result-object p1

    iput-object p1, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mHttpClient:Lokhttp3/x;

    .line 3390
    iget-object p1, p1, Lokhttp3/x;->c:Lokhttp3/n;

    const/4 v0, 0x5

    .line 78
    invoke-virtual {p1, v0}, Lokhttp3/n;->b(I)V

    .line 79
    iget-object p1, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mHttpClient:Lokhttp3/x;

    .line 4390
    iget-object p1, p1, Lokhttp3/x;->c:Lokhttp3/n;

    const/4 v0, 0x3

    .line 79
    invoke-virtual {p1, v0}, Lokhttp3/n;->a(I)V

    return-void
.end method

.method static synthetic access$200(Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;)Lsg/bigo/sdk/blivestat/config/IDnsConfig;
    .registers 1

    .line 36
    iget-object p0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->sExternDns:Lsg/bigo/sdk/blivestat/config/IDnsConfig;

    return-object p0
.end method

.method static synthetic access$300(Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;)[Ljava/lang/String;
    .registers 1

    .line 36
    iget-object p0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->ADDRESSES:[Ljava/lang/String;

    return-object p0
.end method

.method static synthetic access$400(Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;)Lsg/bigo/sdk/blivestat/config/IStatisConfig;
    .registers 1

    .line 36
    iget-object p0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mConfig:Lsg/bigo/sdk/blivestat/config/IStatisConfig;

    return-object p0
.end method

.method private canReplace(Ljava/lang/String;)Z
    .registers 9

    const-string v0, " host="

    const-string v1, "BLiveStatisSDK"

    .line 144
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    const/4 v3, 0x0

    if-eqz v2, :cond_c

    return v3

    .line 147
    :cond_c
    iget-object v2, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->HOST_CAN_REPLACE_CACHE:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-virtual {v2, p1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/Boolean;

    if-eqz v2, :cond_1b

    .line 149
    invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z

    move-result p1

    return p1

    .line 151
    :cond_1b
    sget-object v2, Lsg/bigo/sdk/blivestat/utils/SDKPatterns;->DOMAIN_NAME:Ljava/util/regex/Pattern;

    :try_start_1d
    const-string v4, ":"

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

    move-result v4

    const/4 v5, -0x1

    if-eq v4, v5, :cond_2b

    .line 156
    invoke-virtual {p1, v3, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v4

    goto :goto_2c

    :cond_2b
    move-object v4, p1

    .line 158
    :goto_2c
    new-instance v5, Ljava/lang/StringBuilder;

    const-string v6, "canReplace pattern="

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

    invoke-virtual {v2}, Ljava/util/regex/Pattern;->pattern()Ljava/lang/String;

    move-result-object v6

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

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

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

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

    move-result-object v5

    invoke-static {v1, v5}, Lsg/bigo/sdk/blivestat/log/StatLog;->w(Ljava/lang/String;Ljava/lang/String;)V

    .line 159
    invoke-virtual {v2, v4}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;

    move-result-object v4

    invoke-virtual {v4}, Ljava/util/regex/Matcher;->matches()Z

    move-result v4

    .line 160
    iget-object v5, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->HOST_CAN_REPLACE_CACHE:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v6

    invoke-virtual {v5, p1, v6}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_58
    .catch Ljava/lang/Exception; {:try_start_1d .. :try_end_58} :catch_59

    return v4

    :catch_59
    move-exception v4

    .line 163
    new-instance v5, Ljava/lang/StringBuilder;

    const-string v6, "HttpUtils canReplace error: pattern="

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

    invoke-virtual {v2}, Ljava/util/regex/Pattern;->pattern()Ljava/lang/String;

    move-result-object v2

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

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

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

    const-string p1, " "

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

    invoke-virtual {v4}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object p1

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

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

    move-result-object p1

    invoke-static {v1, p1}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    return v3
.end method


# virtual methods
.method public config(Ljava/util/List;Lokhttp3/p;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/util/List<",
            "Lokhttp3/u;",
            ">;",
            "Lokhttp3/p;",
            ")V"
        }
    .end annotation

    .line 83
    iput-object p1, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mInterceptors:Ljava/util/List;

    .line 84
    iput-object p2, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mEventListener:Lokhttp3/p;

    return-void
.end method

.method public getCurRunCallCount()I
    .registers 2

    .line 92
    invoke-virtual {p0}, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->getHttpClient()Lokhttp3/x;

    move-result-object v0

    .line 5390
    iget-object v0, v0, Lokhttp3/x;->c:Lokhttp3/n;

    .line 92
    invoke-virtual {v0}, Lokhttp3/n;->d()I

    move-result v0

    return v0
.end method

.method public getHttpClient()Lokhttp3/x;
    .registers 2

    .line 88
    iget-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->mHttpClient:Lokhttp3/x;

    return-object v0
.end method

.method public getMaxRequest()I
    .registers 2

    .line 96
    invoke-virtual {p0}, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->getHttpClient()Lokhttp3/x;

    move-result-object v0

    .line 6390
    iget-object v0, v0, Lokhttp3/x;->c:Lokhttp3/n;

    .line 96
    invoke-virtual {v0}, Lokhttp3/n;->b()I

    move-result v0

    return v0
.end method

.method public setBackupAddressIP([Ljava/lang/String;)V
    .registers 2

    if-eqz p1, :cond_4

    .line 106
    iput-object p1, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->ADDRESSES:[Ljava/lang/String;

    :cond_4
    return-void
.end method

.method public setBackupHostJson(Ljava/lang/String;)V
    .registers 5

    .line 111
    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "backup host="

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

    move-result-object v0

    const-string v1, "BLiveStatisSDK"

    invoke-static {v1, v0}, Lsg/bigo/sdk/blivestat/log/StatLog;->w(Ljava/lang/String;Ljava/lang/String;)V

    .line 112
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_16

    return-void

    .line 116
    :cond_16
    :try_start_16
    new-instance v0, Lorg/json/JSONObject;

    invoke-direct {v0, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    iput-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->sBackupHostObject:Lorg/json/JSONObject;
    :try_end_1d
    .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_1d} :catch_1e

    return-void

    :catch_1e
    move-exception p1

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

    const-string v2, "HttpUtils,setBackupHostJson error:"

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

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

    move-result-object p1

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

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

    move-result-object p1

    invoke-static {v1, p1}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    return-void
.end method

.method public setExternDns(Lsg/bigo/sdk/blivestat/config/IDnsConfig;)V
    .registers 2

    .line 172
    iput-object p1, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->sExternDns:Lsg/bigo/sdk/blivestat/config/IDnsConfig;

    return-void
.end method

.method public toBigoUrl(Ljava/lang/String;)Ljava/lang/String;
    .registers 6

    .line 125
    invoke-static {p1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    const-string v1, "HttpUtils#toBigoUrl: "

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

    move-result-object v0

    const-string v1, "BLiveStatisSDK"

    invoke-static {v1, v0}, Lsg/bigo/sdk/blivestat/log/CoreStatLog;->i(Ljava/lang/String;Ljava/lang/String;)V

    .line 126
    iget-object v0, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->sBackupHostObject:Lorg/json/JSONObject;

    if-eqz v0, :cond_4a

    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_1a

    goto :goto_4a

    .line 131
    :cond_1a
    :try_start_1a
    new-instance v0, Ljava/net/URI;

    invoke-direct {v0, p1}, Ljava/net/URI;-><init>(Ljava/lang/String;)V

    .line 132
    invoke-virtual {v0}, Ljava/net/URI;->getHost()Ljava/lang/String;

    move-result-object v0

    .line 133
    iget-object v2, p0, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->sBackupHostObject:Lorg/json/JSONObject;

    invoke-virtual {v2, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    .line 134
    invoke-direct {p0, v2}, Lsg/bigo/sdk/blivestat/sender/http/HttpUtils;->canReplace(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_4a

    .line 135
    invoke-virtual {p1, v0, v2}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object p1
    :try_end_33
    .catch Ljava/lang/Exception; {:try_start_1a .. :try_end_33} :catch_34

    return-object p1

    :catch_34
    move-exception v0

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

    const-string v3, "HttpUtils,transform report error:"

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

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

    move-result-object v0

    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 v0

    invoke-static {v1, v0}, Lsg/bigo/sdk/blivestat/log/StatLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    :cond_4a
    :goto_4a
    return-object p1
.end method