github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/net/http2/hpack/tables.go (about)

     1  // Copyright 2014 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package hpack
     6  
     7  func pair(name, value string) HeaderField {
     8  	return HeaderField{Name: name, Value: value}
     9  }
    10  
    11  // http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-07#appendix-B
    12  var staticTable = [...]HeaderField{
    13  	pair(":authority", ""), // index 1 (1-based)
    14  	pair(":method", "GET"),
    15  	pair(":method", "POST"),
    16  	pair(":path", "/"),
    17  	pair(":path", "/index.html"),
    18  	pair(":scheme", "http"),
    19  	pair(":scheme", "https"),
    20  	pair(":status", "200"),
    21  	pair(":status", "204"),
    22  	pair(":status", "206"),
    23  	pair(":status", "304"),
    24  	pair(":status", "400"),
    25  	pair(":status", "404"),
    26  	pair(":status", "500"),
    27  	pair("accept-charset", ""),
    28  	pair("accept-encoding", "gzip, deflate"),
    29  	pair("accept-language", ""),
    30  	pair("accept-ranges", ""),
    31  	pair("accept", ""),
    32  	pair("access-control-allow-origin", ""),
    33  	pair("age", ""),
    34  	pair("allow", ""),
    35  	pair("authorization", ""),
    36  	pair("cache-control", ""),
    37  	pair("content-disposition", ""),
    38  	pair("content-encoding", ""),
    39  	pair("content-language", ""),
    40  	pair("content-length", ""),
    41  	pair("content-location", ""),
    42  	pair("content-range", ""),
    43  	pair("content-type", ""),
    44  	pair("cookie", ""),
    45  	pair("date", ""),
    46  	pair("etag", ""),
    47  	pair("expect", ""),
    48  	pair("expires", ""),
    49  	pair("from", ""),
    50  	pair("host", ""),
    51  	pair("if-match", ""),
    52  	pair("if-modified-since", ""),
    53  	pair("if-none-match", ""),
    54  	pair("if-range", ""),
    55  	pair("if-unmodified-since", ""),
    56  	pair("last-modified", ""),
    57  	pair("link", ""),
    58  	pair("location", ""),
    59  	pair("max-forwards", ""),
    60  	pair("proxy-authenticate", ""),
    61  	pair("proxy-authorization", ""),
    62  	pair("range", ""),
    63  	pair("referer", ""),
    64  	pair("refresh", ""),
    65  	pair("retry-after", ""),
    66  	pair("server", ""),
    67  	pair("set-cookie", ""),
    68  	pair("strict-transport-security", ""),
    69  	pair("transfer-encoding", ""),
    70  	pair("user-agent", ""),
    71  	pair("vary", ""),
    72  	pair("via", ""),
    73  	pair("www-authenticate", ""),
    74  }
    75  
    76  var huffmanCodes = [256]uint32{
    77  	0x1ff8,
    78  	0x7fffd8,
    79  	0xfffffe2,
    80  	0xfffffe3,
    81  	0xfffffe4,
    82  	0xfffffe5,
    83  	0xfffffe6,
    84  	0xfffffe7,
    85  	0xfffffe8,
    86  	0xffffea,
    87  	0x3ffffffc,
    88  	0xfffffe9,
    89  	0xfffffea,
    90  	0x3ffffffd,
    91  	0xfffffeb,
    92  	0xfffffec,
    93  	0xfffffed,
    94  	0xfffffee,
    95  	0xfffffef,
    96  	0xffffff0,
    97  	0xffffff1,
    98  	0xffffff2,
    99  	0x3ffffffe,
   100  	0xffffff3,
   101  	0xffffff4,
   102  	0xffffff5,
   103  	0xffffff6,
   104  	0xffffff7,
   105  	0xffffff8,
   106  	0xffffff9,
   107  	0xffffffa,
   108  	0xffffffb,
   109  	0x14,
   110  	0x3f8,
   111  	0x3f9,
   112  	0xffa,
   113  	0x1ff9,
   114  	0x15,
   115  	0xf8,
   116  	0x7fa,
   117  	0x3fa,
   118  	0x3fb,
   119  	0xf9,
   120  	0x7fb,
   121  	0xfa,
   122  	0x16,
   123  	0x17,
   124  	0x18,
   125  	0x0,
   126  	0x1,
   127  	0x2,
   128  	0x19,
   129  	0x1a,
   130  	0x1b,
   131  	0x1c,
   132  	0x1d,
   133  	0x1e,
   134  	0x1f,
   135  	0x5c,
   136  	0xfb,
   137  	0x7ffc,
   138  	0x20,
   139  	0xffb,
   140  	0x3fc,
   141  	0x1ffa,
   142  	0x21,
   143  	0x5d,
   144  	0x5e,
   145  	0x5f,
   146  	0x60,
   147  	0x61,
   148  	0x62,
   149  	0x63,
   150  	0x64,
   151  	0x65,
   152  	0x66,
   153  	0x67,
   154  	0x68,
   155  	0x69,
   156  	0x6a,
   157  	0x6b,
   158  	0x6c,
   159  	0x6d,
   160  	0x6e,
   161  	0x6f,
   162  	0x70,
   163  	0x71,
   164  	0x72,
   165  	0xfc,
   166  	0x73,
   167  	0xfd,
   168  	0x1ffb,
   169  	0x7fff0,
   170  	0x1ffc,
   171  	0x3ffc,
   172  	0x22,
   173  	0x7ffd,
   174  	0x3,
   175  	0x23,
   176  	0x4,
   177  	0x24,
   178  	0x5,
   179  	0x25,
   180  	0x26,
   181  	0x27,
   182  	0x6,
   183  	0x74,
   184  	0x75,
   185  	0x28,
   186  	0x29,
   187  	0x2a,
   188  	0x7,
   189  	0x2b,
   190  	0x76,
   191  	0x2c,
   192  	0x8,
   193  	0x9,
   194  	0x2d,
   195  	0x77,
   196  	0x78,
   197  	0x79,
   198  	0x7a,
   199  	0x7b,
   200  	0x7ffe,
   201  	0x7fc,
   202  	0x3ffd,
   203  	0x1ffd,
   204  	0xffffffc,
   205  	0xfffe6,
   206  	0x3fffd2,
   207  	0xfffe7,
   208  	0xfffe8,
   209  	0x3fffd3,
   210  	0x3fffd4,
   211  	0x3fffd5,
   212  	0x7fffd9,
   213  	0x3fffd6,
   214  	0x7fffda,
   215  	0x7fffdb,
   216  	0x7fffdc,
   217  	0x7fffdd,
   218  	0x7fffde,
   219  	0xffffeb,
   220  	0x7fffdf,
   221  	0xffffec,
   222  	0xffffed,
   223  	0x3fffd7,
   224  	0x7fffe0,
   225  	0xffffee,
   226  	0x7fffe1,
   227  	0x7fffe2,
   228  	0x7fffe3,
   229  	0x7fffe4,
   230  	0x1fffdc,
   231  	0x3fffd8,
   232  	0x7fffe5,
   233  	0x3fffd9,
   234  	0x7fffe6,
   235  	0x7fffe7,
   236  	0xffffef,
   237  	0x3fffda,
   238  	0x1fffdd,
   239  	0xfffe9,
   240  	0x3fffdb,
   241  	0x3fffdc,
   242  	0x7fffe8,
   243  	0x7fffe9,
   244  	0x1fffde,
   245  	0x7fffea,
   246  	0x3fffdd,
   247  	0x3fffde,
   248  	0xfffff0,
   249  	0x1fffdf,
   250  	0x3fffdf,
   251  	0x7fffeb,
   252  	0x7fffec,
   253  	0x1fffe0,
   254  	0x1fffe1,
   255  	0x3fffe0,
   256  	0x1fffe2,
   257  	0x7fffed,
   258  	0x3fffe1,
   259  	0x7fffee,
   260  	0x7fffef,
   261  	0xfffea,
   262  	0x3fffe2,
   263  	0x3fffe3,
   264  	0x3fffe4,
   265  	0x7ffff0,
   266  	0x3fffe5,
   267  	0x3fffe6,
   268  	0x7ffff1,
   269  	0x3ffffe0,
   270  	0x3ffffe1,
   271  	0xfffeb,
   272  	0x7fff1,
   273  	0x3fffe7,
   274  	0x7ffff2,
   275  	0x3fffe8,
   276  	0x1ffffec,
   277  	0x3ffffe2,
   278  	0x3ffffe3,
   279  	0x3ffffe4,
   280  	0x7ffffde,
   281  	0x7ffffdf,
   282  	0x3ffffe5,
   283  	0xfffff1,
   284  	0x1ffffed,
   285  	0x7fff2,
   286  	0x1fffe3,
   287  	0x3ffffe6,
   288  	0x7ffffe0,
   289  	0x7ffffe1,
   290  	0x3ffffe7,
   291  	0x7ffffe2,
   292  	0xfffff2,
   293  	0x1fffe4,
   294  	0x1fffe5,
   295  	0x3ffffe8,
   296  	0x3ffffe9,
   297  	0xffffffd,
   298  	0x7ffffe3,
   299  	0x7ffffe4,
   300  	0x7ffffe5,
   301  	0xfffec,
   302  	0xfffff3,
   303  	0xfffed,
   304  	0x1fffe6,
   305  	0x3fffe9,
   306  	0x1fffe7,
   307  	0x1fffe8,
   308  	0x7ffff3,
   309  	0x3fffea,
   310  	0x3fffeb,
   311  	0x1ffffee,
   312  	0x1ffffef,
   313  	0xfffff4,
   314  	0xfffff5,
   315  	0x3ffffea,
   316  	0x7ffff4,
   317  	0x3ffffeb,
   318  	0x7ffffe6,
   319  	0x3ffffec,
   320  	0x3ffffed,
   321  	0x7ffffe7,
   322  	0x7ffffe8,
   323  	0x7ffffe9,
   324  	0x7ffffea,
   325  	0x7ffffeb,
   326  	0xffffffe,
   327  	0x7ffffec,
   328  	0x7ffffed,
   329  	0x7ffffee,
   330  	0x7ffffef,
   331  	0x7fffff0,
   332  	0x3ffffee,
   333  }
   334  
   335  var huffmanCodeLen = [256]uint8{
   336  	13, 23, 28, 28, 28, 28, 28, 28, 28, 24, 30, 28, 28, 30, 28, 28,
   337  	28, 28, 28, 28, 28, 28, 30, 28, 28, 28, 28, 28, 28, 28, 28, 28,
   338  	6, 10, 10, 12, 13, 6, 8, 11, 10, 10, 8, 11, 8, 6, 6, 6,
   339  	5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 8, 15, 6, 12, 10,
   340  	13, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
   341  	7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 13, 19, 13, 14, 6,
   342  	15, 5, 6, 5, 6, 5, 6, 6, 6, 5, 7, 7, 6, 6, 6, 5,
   343  	6, 7, 6, 5, 5, 6, 7, 7, 7, 7, 7, 15, 11, 14, 13, 28,
   344  	20, 22, 20, 20, 22, 22, 22, 23, 22, 23, 23, 23, 23, 23, 24, 23,
   345  	24, 24, 22, 23, 24, 23, 23, 23, 23, 21, 22, 23, 22, 23, 23, 24,
   346  	22, 21, 20, 22, 22, 23, 23, 21, 23, 22, 22, 24, 21, 22, 23, 23,
   347  	21, 21, 22, 21, 23, 22, 23, 23, 20, 22, 22, 22, 23, 22, 22, 23,
   348  	26, 26, 20, 19, 22, 23, 22, 25, 26, 26, 26, 27, 27, 26, 24, 25,
   349  	19, 21, 26, 27, 27, 26, 27, 24, 21, 21, 26, 26, 28, 27, 27, 27,
   350  	20, 24, 20, 21, 22, 21, 21, 23, 22, 22, 25, 25, 24, 24, 26, 23,
   351  	26, 27, 26, 26, 27, 27, 27, 27, 27, 28, 27, 27, 27, 27, 27, 26,
   352  }