blob: 3c2ba4841e5f48aef2b426efa6cd942cec5bae57 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/*
**********************************************************************************************
* File: http_content_decompress.h
* Description:
* Authors: LuWenPeng <[email protected]>
* Date: 2022-10-31
* Copyright: (c) Since 2022 Geedge Networks, Ltd. All rights reserved.
***********************************************************************************************
*/
#ifndef _HTTP_CONTENT_DECOMPRESS_H_
#define _HTTP_CONTENT_DECOMPRESS_H_
#ifdef __cplusplus
extern "C"
{
#endif
#include <stddef.h>
enum http_content_encoding {
HTTP_CONTENT_ENCODING_NONE = 0,
HTTP_CONTENT_ENCODING_GZIP = 1 << 1,
HTTP_CONTENT_ENCODING_DEFLATE = 1 << 2,
HTTP_CONTENT_ENCODING_BR = 1 << 3,
};
struct http_content_decompress;
enum http_content_encoding
http_content_encoding_str2int(const char *content_encoding);
const char *
http_content_encoding_int2str(enum http_content_encoding content_encoding);
struct http_content_decompress *
http_content_decompress_create(enum http_content_encoding encoding);
void http_content_decompress_destroy(struct http_content_decompress *decompress);
// return 0 : success
// return -1 : error
int http_content_decompress_write(struct http_content_decompress *decompress,
const char *indata, size_t indata_len,
char **outdata, size_t *outdata_len);
#ifdef __cplusplus
}
#endif
#endif
|