http_constant/http2/
const.rs

1use crate::*;
2
3/// HTTP/2 connection preface
4pub const CONNECTION_PREFACE: &[u8] = b"PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n";
5
6/// HTTP/2 SETTINGS parameter: HEADER_TABLE_SIZE (0x1)
7pub const HEADER_TABLE_SIZE: u16 = 0x1;
8
9/// HTTP/2 SETTINGS parameter: ENABLE_PUSH (0x2)
10pub const ENABLE_PUSH: u16 = 0x2;
11
12/// HTTP/2 SETTINGS parameter: MAX_CONCURRENT_STREAMS (0x3)
13pub const MAX_CONCURRENT_STREAMS: u16 = 0x3;
14
15/// HTTP/2 SETTINGS parameter: INITIAL_WINDOW_SIZE (0x4)
16pub const INITIAL_WINDOW_SIZE: u16 = 0x4;
17
18/// HTTP/2 SETTINGS parameter: MAX_FRAME_SIZE (0x5)
19pub const SETTINGS_MAX_FRAME_SIZE: u16 = 0x5;
20
21/// HTTP/2 SETTINGS parameter: MAX_HEADER_LIST_SIZE (0x6)
22pub const MAX_HEADER_LIST_SIZE: u16 = 0x6;
23
24/// HTTP/2 pseudo-header field `:status`, used to specify the HTTP status code.
25pub const COLON_STATUS: &str = ":status";
26
27/// Accept-Encoding header value: "gzip, deflate"
28pub const GZIP_DEFLATE: &str = "gzip, deflate";
29
30/// Path value: "/index.html"
31pub const INDEX_HTML_PATH: &str = "/index.html";
32
33/// HPACK static table as defined in RFC 7541 Appendix A
34pub const STATIC_TABLE: &[(&str, &str)] = &[
35    (COLON_AUTHORITY, EMPTY_STR),
36    (COLON_METHOD, GET),
37    (COLON_METHOD, POST),
38    (COLON_PATH, DEFAULT_HTTP_PATH),
39    (COLON_PATH, INDEX_HTML_PATH),
40    (COLON_SCHEME, HTTP_LOWERCASE),
41    (COLON_SCHEME, HTTPS_LOWERCASE),
42    (COLON_STATUS, STATUS_CODE_200),
43    (COLON_STATUS, STATUS_CODE_204),
44    (COLON_STATUS, STATUS_CODE_206),
45    (COLON_STATUS, STATUS_CODE_304),
46    (COLON_STATUS, STATUS_CODE_400),
47    (COLON_STATUS, STATUS_CODE_404),
48    (COLON_STATUS, STATUS_CODE_500),
49    (ACCEPT_CHARSET, EMPTY_STR),
50    (ACCEPT_ENCODING, GZIP_DEFLATE),
51    (ACCEPT_LANGUAGE, EMPTY_STR),
52    (ACCEPT_RANGES, EMPTY_STR),
53    (ACCEPT, EMPTY_STR),
54    (ACCESS_CONTROL_ALLOW_ORIGIN, EMPTY_STR),
55    (AGE, EMPTY_STR),
56    (ALLOW, EMPTY_STR),
57    (AUTHORIZATION, EMPTY_STR),
58    (CACHE_CONTROL, EMPTY_STR),
59    (CONTENT_DISPOSITION, EMPTY_STR),
60    (CONTENT_ENCODING, EMPTY_STR),
61    (CONTENT_LANGUAGE, EMPTY_STR),
62    (CONTENT_LENGTH, EMPTY_STR),
63    (CONTENT_LOCATION, EMPTY_STR),
64    (CONTENT_RANGE, EMPTY_STR),
65    (CONTENT_TYPE, EMPTY_STR),
66    (COOKIE, EMPTY_STR),
67    (DATE, EMPTY_STR),
68    (ETAG, EMPTY_STR),
69    (EXPECT, EMPTY_STR),
70    (EXPIRES, EMPTY_STR),
71    (FROM, EMPTY_STR),
72    (HOST, EMPTY_STR),
73    (IF_MATCH, EMPTY_STR),
74    (IF_MODIFIED_SINCE, EMPTY_STR),
75    (IF_NONE_MATCH, EMPTY_STR),
76    (IF_RANGE, EMPTY_STR),
77    (IF_UNMODIFIED_SINCE, EMPTY_STR),
78    (LAST_MODIFIED, EMPTY_STR),
79    (LINK, EMPTY_STR),
80    (LOCATION, EMPTY_STR),
81    (MAX_FORWARDS, EMPTY_STR),
82    (PROXY_AUTHENTICATE, EMPTY_STR),
83    (PROXY_AUTHORIZATION, EMPTY_STR),
84    (RANGE, EMPTY_STR),
85    (REFERER, EMPTY_STR),
86    (REFRESH, EMPTY_STR),
87    (RETRY_AFTER, EMPTY_STR),
88    (SERVER, EMPTY_STR),
89    (SET_COOKIE, EMPTY_STR),
90    (STRICT_TRANSPORT_SECURITY, EMPTY_STR),
91    (TRANSFER_ENCODING, EMPTY_STR),
92    (USER_AGENT, EMPTY_STR),
93    (VARY, EMPTY_STR),
94    (VIA, EMPTY_STR),
95    (WWW_AUTHENTICATE, EMPTY_STR),
96];