.class public final Lokhttp3/internal/http2/Hpack; .super Ljava/lang/Object; .source "Hpack.kt" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lokhttp3/internal/http2/Hpack$Reader;, Lokhttp3/internal/http2/Hpack$Writer; } .end annotation .annotation runtime Lkotlin/Metadata; bv = { 0x1, 0x0, 0x3 } d1 = { "\u0000(\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0010$\n\u0002\u0018\u0002\n\u0002\u0010\u0008\n\u0002\u0008\t\n\u0002\u0010\u0011\n\u0002\u0018\u0002\n\u0002\u0008\t\u0008\u00c6\u0002\u0018\u00002\u00020\u0001:\u0002\u0018\u0019B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002J\u000e\u0010\u0015\u001a\u00020\u00052\u0006\u0010\u0016\u001a\u00020\u0005J\u0014\u0010\u0017\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u00060\u0004H\u0002R\u001d\u0010\u0003\u001a\u000e\u0012\u0004\u0012\u00020\u0005\u0012\u0004\u0012\u00020\u00060\u0004\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0007\u0010\u0008R\u000e\u0010\t\u001a\u00020\u0006X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0006X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0006X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000c\u001a\u00020\u0006X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u0006X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u0006X\u0082T\u00a2\u0006\u0002\n\u0000R\u0019\u0010\u000f\u001a\u0008\u0012\u0004\u0012\u00020\u00110\u0010\u00a2\u0006\n\n\u0002\u0010\u0014\u001a\u0004\u0008\u0012\u0010\u0013\u00a8\u0006\u001a" } d2 = { "Lokhttp3/internal/http2/Hpack;", "", "()V", "NAME_TO_FIRST_INDEX", "", "Lokio/ByteString;", "", "getNAME_TO_FIRST_INDEX", "()Ljava/util/Map;", "PREFIX_4_BITS", "PREFIX_5_BITS", "PREFIX_6_BITS", "PREFIX_7_BITS", "SETTINGS_HEADER_TABLE_SIZE", "SETTINGS_HEADER_TABLE_SIZE_LIMIT", "STATIC_HEADER_TABLE", "", "Lokhttp3/internal/http2/Header;", "getSTATIC_HEADER_TABLE", "()[Lokhttp3/internal/http2/Header;", "[Lokhttp3/internal/http2/Header;", "checkLowercase", "name", "nameToFirstIndex", "Reader", "Writer", "okhttp" } k = 0x1 mv = { 0x1, 0x4, 0x0 } .end annotation # static fields .field public static final INSTANCE:Lokhttp3/internal/http2/Hpack; .field private static final NAME_TO_FIRST_INDEX:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Lokio/ByteString;", "Ljava/lang/Integer;", ">;" } .end annotation .end field .field private static final PREFIX_4_BITS:I = 0xf .field private static final PREFIX_5_BITS:I = 0x1f .field private static final PREFIX_6_BITS:I = 0x3f .field private static final PREFIX_7_BITS:I = 0x7f .field private static final SETTINGS_HEADER_TABLE_SIZE:I = 0x1000 .field private static final SETTINGS_HEADER_TABLE_SIZE_LIMIT:I = 0x4000 .field private static final STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header; # direct methods .method static constructor ()V .locals 6 .line 44 new-instance v0, Lokhttp3/internal/http2/Hpack; invoke-direct {v0}, Lokhttp3/internal/http2/Hpack;->()V sput-object v0, Lokhttp3/internal/http2/Hpack;->INSTANCE:Lokhttp3/internal/http2/Hpack; const/16 v1, 0x3d new-array v1, v1, [Lokhttp3/internal/http2/Header; .line 59 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->TARGET_AUTHORITY:Lokio/ByteString; const-string v4, "" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x0 aput-object v2, v1, v3 .line 60 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->TARGET_METHOD:Lokio/ByteString; const-string v5, "GET" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x1 aput-object v2, v1, v3 .line 61 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->TARGET_METHOD:Lokio/ByteString; const-string v5, "POST" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x2 aput-object v2, v1, v3 .line 62 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->TARGET_PATH:Lokio/ByteString; const-string v5, "/" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x3 aput-object v2, v1, v3 .line 63 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->TARGET_PATH:Lokio/ByteString; const-string v5, "/index.html" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x4 aput-object v2, v1, v3 .line 64 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->TARGET_SCHEME:Lokio/ByteString; const-string v5, "http" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x5 aput-object v2, v1, v3 .line 65 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->TARGET_SCHEME:Lokio/ByteString; const-string v5, "https" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x6 aput-object v2, v1, v3 .line 66 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->RESPONSE_STATUS:Lokio/ByteString; const-string v5, "200" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/4 v3, 0x7 aput-object v2, v1, v3 .line 67 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->RESPONSE_STATUS:Lokio/ByteString; const-string v5, "204" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/16 v3, 0x8 aput-object v2, v1, v3 .line 68 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->RESPONSE_STATUS:Lokio/ByteString; const-string v5, "206" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/16 v3, 0x9 aput-object v2, v1, v3 .line 69 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->RESPONSE_STATUS:Lokio/ByteString; const-string v5, "304" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/16 v3, 0xa aput-object v2, v1, v3 .line 70 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->RESPONSE_STATUS:Lokio/ByteString; const-string v5, "400" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/16 v3, 0xb aput-object v2, v1, v3 .line 71 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->RESPONSE_STATUS:Lokio/ByteString; const-string v5, "404" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/16 v3, 0xc aput-object v2, v1, v3 .line 72 new-instance v2, Lokhttp3/internal/http2/Header; sget-object v3, Lokhttp3/internal/http2/Header;->RESPONSE_STATUS:Lokio/ByteString; const-string v5, "500" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Lokio/ByteString;Ljava/lang/String;)V const/16 v3, 0xd aput-object v2, v1, v3 .line 73 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "accept-charset" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0xe aput-object v2, v1, v3 .line 74 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "accept-encoding" const-string v5, "gzip, deflate" invoke-direct {v2, v3, v5}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0xf aput-object v2, v1, v3 .line 75 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "accept-language" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x10 aput-object v2, v1, v3 .line 76 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "accept-ranges" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x11 aput-object v2, v1, v3 .line 77 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "accept" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x12 aput-object v2, v1, v3 .line 78 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "access-control-allow-origin" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x13 aput-object v2, v1, v3 .line 79 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "age" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x14 aput-object v2, v1, v3 .line 80 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "allow" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x15 aput-object v2, v1, v3 .line 81 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "authorization" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x16 aput-object v2, v1, v3 .line 82 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "cache-control" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x17 aput-object v2, v1, v3 .line 83 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "content-disposition" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x18 aput-object v2, v1, v3 .line 84 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "content-encoding" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x19 aput-object v2, v1, v3 .line 85 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "content-language" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x1a aput-object v2, v1, v3 .line 86 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "content-length" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x1b aput-object v2, v1, v3 .line 87 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "content-location" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x1c aput-object v2, v1, v3 .line 88 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "content-range" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x1d aput-object v2, v1, v3 .line 89 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "content-type" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x1e aput-object v2, v1, v3 .line 90 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "cookie" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x1f aput-object v2, v1, v3 .line 91 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "date" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x20 aput-object v2, v1, v3 .line 92 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "etag" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x21 aput-object v2, v1, v3 .line 93 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "expect" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x22 aput-object v2, v1, v3 .line 94 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "expires" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x23 aput-object v2, v1, v3 .line 95 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "from" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x24 aput-object v2, v1, v3 .line 96 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "host" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x25 aput-object v2, v1, v3 .line 97 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "if-match" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x26 aput-object v2, v1, v3 .line 98 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "if-modified-since" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x27 aput-object v2, v1, v3 .line 99 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "if-none-match" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x28 aput-object v2, v1, v3 .line 100 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "if-range" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x29 aput-object v2, v1, v3 .line 101 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "if-unmodified-since" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x2a aput-object v2, v1, v3 .line 102 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "last-modified" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x2b aput-object v2, v1, v3 .line 103 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "link" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x2c aput-object v2, v1, v3 .line 104 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "location" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x2d aput-object v2, v1, v3 .line 105 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "max-forwards" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x2e aput-object v2, v1, v3 .line 106 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "proxy-authenticate" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x2f aput-object v2, v1, v3 .line 107 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "proxy-authorization" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x30 aput-object v2, v1, v3 .line 108 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "range" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x31 aput-object v2, v1, v3 .line 109 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "referer" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x32 aput-object v2, v1, v3 .line 110 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "refresh" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x33 aput-object v2, v1, v3 .line 111 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "retry-after" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x34 aput-object v2, v1, v3 .line 112 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "server" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x35 aput-object v2, v1, v3 .line 113 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "set-cookie" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x36 aput-object v2, v1, v3 .line 114 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "strict-transport-security" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x37 aput-object v2, v1, v3 .line 115 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "transfer-encoding" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x38 aput-object v2, v1, v3 .line 116 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "user-agent" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x39 aput-object v2, v1, v3 .line 117 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "vary" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x3a aput-object v2, v1, v3 .line 118 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "via" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x3b aput-object v2, v1, v3 .line 119 new-instance v2, Lokhttp3/internal/http2/Header; const-string v3, "www-authenticate" invoke-direct {v2, v3, v4}, Lokhttp3/internal/http2/Header;->(Ljava/lang/String;Ljava/lang/String;)V const/16 v3, 0x3c aput-object v2, v1, v3 sput-object v1, Lokhttp3/internal/http2/Hpack;->STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header; .line 122 invoke-direct {v0}, Lokhttp3/internal/http2/Hpack;->nameToFirstIndex()Ljava/util/Map; move-result-object v0 sput-object v0, Lokhttp3/internal/http2/Hpack;->NAME_TO_FIRST_INDEX:Ljava/util/Map; return-void .end method .method private constructor ()V .locals 0 .line 44 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private final nameToFirstIndex()Ljava/util/Map; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Lokio/ByteString;", "Ljava/lang/Integer;", ">;" } .end annotation .line 383 new-instance p0, Ljava/util/LinkedHashMap; sget-object v0, Lokhttp3/internal/http2/Hpack;->STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header; array-length v1, v0 invoke-direct {p0, v1}, Ljava/util/LinkedHashMap;->(I)V .line 384 array-length v0, v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 sget-object v2, Lokhttp3/internal/http2/Hpack;->STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header; .line 385 aget-object v3, v2, v1 iget-object v3, v3, Lokhttp3/internal/http2/Header;->name:Lokio/ByteString; invoke-virtual {p0, v3}, Ljava/util/LinkedHashMap;->containsKey(Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_0 .line 386 move-object v3, p0 check-cast v3, Ljava/util/Map; aget-object v2, v2, v1 iget-object v2, v2, Lokhttp3/internal/http2/Header;->name:Lokio/ByteString; invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 invoke-interface {v3, v2, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 389 :cond_1 check-cast p0, Ljava/util/Map; invoke-static {p0}, Ljava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map; move-result-object p0 const-string v0, "Collections.unmodifiableMap(result)" invoke-static {p0, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V return-object p0 .end method # virtual methods .method public final checkLowercase(Lokio/ByteString;)Lokio/ByteString; .locals 4 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const-string p0, "name" invoke-static {p1, p0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 612 invoke-virtual {p1}, Lokio/ByteString;->size()I move-result p0 const/4 v0, 0x0 :goto_0 if-ge v0, p0, :cond_2 const/16 v1, 0x41 int-to-byte v1, v1 const/16 v2, 0x5a int-to-byte v2, v2 .line 613 invoke-virtual {p1, v0}, Lokio/ByteString;->getByte(I)B move-result v3 if-le v1, v3, :cond_0 goto :goto_1 :cond_0 if-ge v2, v3, :cond_1 :goto_1 add-int/lit8 v0, v0, 0x1 goto :goto_0 .line 614 :cond_1 new-instance p0, Ljava/io/IOException; new-instance v0, Ljava/lang/StringBuilder; const-string v1, "PROTOCOL_ERROR response malformed: mixed case name: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1}, Lokio/ByteString;->utf8()Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p0, p1}, Ljava/io/IOException;->(Ljava/lang/String;)V check-cast p0, Ljava/lang/Throwable; throw p0 :cond_2 return-object p1 .end method .method public final getNAME_TO_FIRST_INDEX()Ljava/util/Map; .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/Map<", "Lokio/ByteString;", "Ljava/lang/Integer;", ">;" } .end annotation sget-object p0, Lokhttp3/internal/http2/Hpack;->NAME_TO_FIRST_INDEX:Ljava/util/Map; return-object p0 .end method .method public final getSTATIC_HEADER_TABLE()[Lokhttp3/internal/http2/Header; .locals 0 sget-object p0, Lokhttp3/internal/http2/Hpack;->STATIC_HEADER_TABLE:[Lokhttp3/internal/http2/Header; return-object p0 .end method