VaarHttpHeadersInterceptor.smali

.class public Lcom/avast/android/vaar/okhttp3/VaarHttpHeadersInterceptor;
.super Ljava/lang/Object;

# interfaces
.implements Lokhttp3/Interceptor;


# static fields
.field private static final a:Lcom/avast/vaar/proto/Envelope$Version;


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

    sget-object v0, Lcom/avast/vaar/proto/Envelope$Version;->g:Lcom/avast/vaar/proto/Envelope$Version;

    sput-object v0, Lcom/avast/android/vaar/okhttp3/VaarHttpHeadersInterceptor;->a:Lcom/avast/vaar/proto/Envelope$Version;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method private b(Lokhttp3/Headers;)Lokhttp3/Headers;
    .registers 7

    new-instance v0, Lokhttp3/Headers$Builder;

    invoke-direct {v0}, Lokhttp3/Headers$Builder;-><init>()V

    const/4 v1, 0x0

    :goto_6
    invoke-virtual {p1}, Lokhttp3/Headers;->size()I

    move-result v2

    if-ge v1, v2, :cond_2c

    invoke-virtual {p1, v1}, Lokhttp3/Headers;->i(I)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v1}, Lokhttp3/Headers;->o(I)Ljava/lang/String;

    move-result-object v3

    const-string v4, "Vaar-Header-"

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

    move-result v4

    if-eqz v4, :cond_26

    const/16 v4, 0xc

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

    move-result-object v2

    invoke-virtual {v0, v2, v3}, Lokhttp3/Headers$Builder;->a(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;

    goto :goto_29

    :cond_26
    invoke-virtual {v0, v2, v3}, Lokhttp3/Headers$Builder;->a(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;

    :goto_29
    add-int/lit8 v1, v1, 0x1

    goto :goto_6

    :cond_2c
    invoke-virtual {v0}, Lokhttp3/Headers$Builder;->f()Lokhttp3/Headers;

    move-result-object p1

    return-object p1
.end method

.method private c(Lokhttp3/Headers;)Lokhttp3/Headers;
    .registers 8

    new-instance v0, Lokhttp3/Headers$Builder;

    invoke-direct {v0}, Lokhttp3/Headers$Builder;-><init>()V

    const/4 v1, 0x0

    :goto_6
    invoke-virtual {p1}, Lokhttp3/Headers;->size()I

    move-result v2

    if-ge v1, v2, :cond_35

    invoke-virtual {p1, v1}, Lokhttp3/Headers;->i(I)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p1, v1}, Lokhttp3/Headers;->o(I)Ljava/lang/String;

    move-result-object v3

    const-string v4, "Vaar-Header-"

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

    move-result v5

    if-nez v5, :cond_2f

    new-instance v5, Ljava/lang/StringBuilder;

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

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

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

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

    move-result-object v2

    invoke-virtual {v0, v2, v3}, Lokhttp3/Headers$Builder;->a(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;

    goto :goto_32

    :cond_2f
    invoke-virtual {v0, v2, v3}, Lokhttp3/Headers$Builder;->a(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Headers$Builder;

    :goto_32
    add-int/lit8 v1, v1, 0x1

    goto :goto_6

    :cond_35
    invoke-virtual {v0}, Lokhttp3/Headers$Builder;->f()Lokhttp3/Headers;

    move-result-object p1

    return-object p1
.end method

.method private d(Lokhttp3/Response;)Lokhttp3/Response;
    .registers 3

    invoke-virtual {p1}, Lokhttp3/Response;->u()Lokhttp3/Response$Builder;

    move-result-object v0

    invoke-virtual {p1}, Lokhttp3/Response;->p()Lokhttp3/Headers;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/avast/android/vaar/okhttp3/VaarHttpHeadersInterceptor;->b(Lokhttp3/Headers;)Lokhttp3/Headers;

    move-result-object p1

    invoke-virtual {v0, p1}, Lokhttp3/Response$Builder;->k(Lokhttp3/Headers;)Lokhttp3/Response$Builder;

    invoke-virtual {v0}, Lokhttp3/Response$Builder;->c()Lokhttp3/Response;

    move-result-object p1

    return-object p1
.end method

.method private e(Lokhttp3/Request;)Lokhttp3/Request;
    .registers 4

    invoke-virtual {p1}, Lokhttp3/Request;->i()Lokhttp3/Request$Builder;

    move-result-object v0

    invoke-virtual {p1}, Lokhttp3/Request;->f()Lokhttp3/Headers;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/avast/android/vaar/okhttp3/VaarHttpHeadersInterceptor;->c(Lokhttp3/Headers;)Lokhttp3/Headers;

    move-result-object p1

    invoke-virtual {v0, p1}, Lokhttp3/Request$Builder;->e(Lokhttp3/Headers;)Lokhttp3/Request$Builder;

    sget-object p1, Lcom/avast/android/vaar/okhttp3/VaarHttpHeadersInterceptor;->a:Lcom/avast/vaar/proto/Envelope$Version;

    invoke-virtual {p1}, Lcom/avast/vaar/proto/Envelope$Version;->f()I

    move-result p1

    invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object p1

    const-string v1, "Vaar-Version"

    invoke-virtual {v0, v1, p1}, Lokhttp3/Request$Builder;->d(Ljava/lang/String;Ljava/lang/String;)Lokhttp3/Request$Builder;

    invoke-virtual {v0}, Lokhttp3/Request$Builder;->b()Lokhttp3/Request;

    move-result-object p1

    return-object p1
.end method


# virtual methods
.method public a(Lokhttp3/Interceptor$Chain;)Lokhttp3/Response;
    .registers 7
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    invoke-interface {p1}, Lokhttp3/Interceptor$Chain;->request()Lokhttp3/Request;

    move-result-object v0

    invoke-direct {p0, v0}, Lcom/avast/android/vaar/okhttp3/VaarHttpHeadersInterceptor;->e(Lokhttp3/Request;)Lokhttp3/Request;

    move-result-object v0

    invoke-interface {p1, v0}, Lokhttp3/Interceptor$Chain;->a(Lokhttp3/Request;)Lokhttp3/Response;

    move-result-object p1

    invoke-direct {p0, p1}, Lcom/avast/android/vaar/okhttp3/VaarHttpHeadersInterceptor;->d(Lokhttp3/Response;)Lokhttp3/Response;

    move-result-object p1

    invoke-virtual {p1}, Lokhttp3/Response;->f()I

    move-result v0

    const/16 v1, 0xc8

    if-eq v0, v1, :cond_46

    const-wide/16 v0, 0x400

    invoke-virtual {p1, v0, v1}, Lokhttp3/Response;->v(J)Lokhttp3/ResponseBody;

    move-result-object v0

    sget-object v1, Lcom/avast/android/vaar/util/LH;->a:Lcom/avast/android/logging/Alf;

    const/4 v2, 0x3

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    invoke-virtual {p1}, Lokhttp3/Response;->f()I

    move-result v4

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

    move-result-object v4

    aput-object v4, v2, v3

    const/4 v3, 0x1

    invoke-virtual {v0}, Lokhttp3/ResponseBody;->g()Lokhttp3/MediaType;

    move-result-object v4

    aput-object v4, v2, v3

    const/4 v3, 0x2

    invoke-virtual {v0}, Lokhttp3/ResponseBody;->a()Ljava/io/InputStream;

    move-result-object v0

    invoke-static {v0}, Lcom/avast/android/utils/io/StreamUtils;->e(Ljava/io/InputStream;)Ljava/lang/String;

    move-result-object v0

    aput-object v0, v2, v3

    const-string v0, "Received HTTP status [%d] with mime-type [%s] and content (truncated): %s"

    invoke-virtual {v1, v0, v2}, Lcom/avast/android/logging/Alf;->c(Ljava/lang/String;[Ljava/lang/Object;)V

    return-object p1

    :cond_46
    invoke-static {p1}, Lcom/avast/android/vaar/okhttp3/VaarStatusOkHttp3Helper;->b(Lokhttp3/Response;)Ljava/lang/Integer;

    move-result-object v0

    if-eqz v0, :cond_54

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I

    move-result v0

    if-gez v0, :cond_53

    goto :goto_54

    :cond_53
    return-object p1

    :cond_54
    :goto_54
    invoke-virtual {p1}, Lokhttp3/Response;->u()Lokhttp3/Response$Builder;

    move-result-object p1

    const/16 v0, 0x29a

    invoke-virtual {p1, v0}, Lokhttp3/Response$Builder;->g(I)Lokhttp3/Response$Builder;

    invoke-virtual {p1}, Lokhttp3/Response$Builder;->c()Lokhttp3/Response;

    move-result-object p1

    return-object p1
.end method