整理 http/http2 公共的 header 字段,存储到 tfe_http.cpp 文件中
This commit is contained in:
@@ -15,46 +15,10 @@
|
||||
|
||||
#define __PARSER_TO_HF_PRIVATE(_parser) ((struct http_half_private *)(_parser->data))
|
||||
|
||||
static const char * __str_std_header_field_map[] =
|
||||
{
|
||||
[TFE_HTTP_UNKNOWN_FIELD] = NULL,
|
||||
[TFE_HTTP_HOST] = "Host",
|
||||
[TFE_HTTP_REFERER] = "Referer",
|
||||
[TFE_HTTP_USER_AGENT] = "User-Agent",
|
||||
[TFE_HTTP_COOKIE] = "Cookie",
|
||||
[TFE_HTTP_SET_COOKIE] = "Set-Cookie",
|
||||
[TFE_HTTP_PROXY_AUTHORIZATION] = "Proxy-Authorization",
|
||||
[TFE_HTTP_AUTHORIZATION] = "Authorization",
|
||||
[TFE_HTTP_LOCATION] = "Location",
|
||||
[TFE_HTTP_SERVER] = "Server",
|
||||
[TFE_HTTP_ETAG] = "Etag",
|
||||
[TFE_HTTP_DATE] = "Date",
|
||||
[TFE_HTTP_TRAILER] = "Trailer",
|
||||
[TFE_HTTP_TRANSFER_ENCODING] = "Transfer-Encoding",
|
||||
[TFE_HTTP_VIA] = "Via",
|
||||
[TFE_HTTP_PRAGMA] = "Pragma",
|
||||
[TFE_HTTP_CONNECTION] = "Connection",
|
||||
[TFE_HTTP_CONT_ENCODING] = "Content-Encoding",
|
||||
[TFE_HTTP_CONT_LANGUAGE] = "Content-Language",
|
||||
[TFE_HTTP_CONT_LOCATION] = "Content-Location",
|
||||
[TFE_HTTP_CONT_RANGE] = "Content-Range",
|
||||
[TFE_HTTP_CONT_LENGTH] = "Content-Length",
|
||||
[TFE_HTTP_CONT_TYPE] = "Content-Type",
|
||||
[TFE_HTTP_CONT_DISPOSITION] = "Content-Disposition",
|
||||
[TFE_HTTP_EXPIRES] = "Expires",
|
||||
[TFE_HTTP_ACCEPT_ENCODING] = "Accept-Encoding",
|
||||
[TFE_HTTP_CACHE_CONTROL] = "Cache-Control",
|
||||
[TFE_HTTP_IF_MATCH] = "If-Match",
|
||||
[TFE_HTTP_IF_NONE_MATCH] = "If-None-Match",
|
||||
[TFE_HTTP_IF_MODIFIED_SINCE] = "If-Modified-Since",
|
||||
[TFE_HTTP_IF_UNMODIFIED_SINCE] = "If-Unmodified-Since",
|
||||
[TFE_HTTP_LAST_MODIFIED] = "Last-Modified"
|
||||
};
|
||||
|
||||
static enum tfe_http_std_field __str_header_field_to_std_field_id(const char * str_field, size_t len)
|
||||
{
|
||||
/* TODO: store the header text in hash table or rbtree, or use AC multistring search algo. */
|
||||
for (unsigned int i = 0; i < TFE_DIM(__str_std_header_field_map); i++)
|
||||
for (unsigned int i = 0; i < __str_std_header_field_map_size; i++)
|
||||
{
|
||||
const char * __std_header_field = __str_std_header_field_map[i];
|
||||
if (__std_header_field == NULL)
|
||||
|
||||
Reference in New Issue
Block a user