增加对GZIP压缩编码的解压缩功能及单元测试用例

This commit is contained in:
Lu Qiuwen
2018-09-26 21:31:17 +08:00
parent c7eeda0fb1
commit 8a4f02fbb8
6 changed files with 427 additions and 29 deletions

View File

@@ -21,6 +21,15 @@ struct http_header_private
char * value;
};
#define BV(x) (1 << x)
#define HTTP_ACCEPT_ENCODING_IDENTITY BV(0)
#define HTTP_ACCEPT_ENCODING_GZIP BV(1)
#define HTTP_ACCEPT_ENCODING_DEFLATE BV(2)
#define HTTP_ACCEPT_ENCODING_COMPRESS BV(3)
#define HTTP_ACCEPT_ENCODING_BZIP2 BV(4)
#define HTTP_ACCEPT_ENCODING_X_GZIP BV(5)
#define HTTP_ACCEPT_ENCODING_X_BZIP2 BV(6)
TAILQ_HEAD(http_header_private_list, http_header_private);
struct http_half_private
{
@@ -54,6 +63,9 @@ struct http_half_private
struct evbuffer * evbuf_uri;
char * url_storage;
/* Content-Encoding */
uint16_t content_encoding;
/* Header Parser */
struct evbuffer * evbuf_header_field;
struct evbuffer * evbuf_header_value;
@@ -104,8 +116,6 @@ struct http_session_private * hs_private_create(struct http_connection_private *
void hs_private_destory(struct http_session_private * hs_private);
void hs_private_hf_private_set(struct http_session_private * hs_private,
struct http_half_private * hf, enum tfe_http_direction);