http_constant/http2/
const.rs

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