acl  3.5.3.0
lib_http_struct.h 文件参考
+ 此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

struct  HTTP_REQ
 
struct  HTTP_RES
 
struct  HTTP_HDR_ENTRY
 
struct  HTTP_HDR
 
struct  HTTP_HDR_REQ
 
struct  HTTP_HDR_RES
 

宏定义

#define HTTP_API
 
#define HTTP_CHAT_OK   0
 
#define HTTP_CHAT_CONTINUE   1
 
#define HTTP_CHAT_DATA   2
 
#define HTTP_CHAT_CHUNK_HDR   3
 
#define HTTP_CHAT_CHUNK_DATA_ENDL   4
 
#define HTTP_CHAT_CHUNK_TRAILER   5
 
#define HTTP_CHAT_ERR_MIN   100
 
#define HTTP_CHAT_ERR_IO   101
 
#define HTTP_CHAT_ERR_PROTO   102
 
#define HTTP_CHAT_ERR_TOO_MANY_LINES   103
 
#define HTTP_CHAT_ERR_MAX   1000
 
#define HTTP_CHAT_FLAG_BUFFED   0x0001
 
#define HTTP_HDR_ENTRY_VIA   "via"
 
#define HTTP_HDR_ENTRY_FORWARD_FOR   "X-Forwarded-For"
 
#define HDR_RESTORE(hdr_ptr, hdr_type, hdr_member)   ((hdr_type *) (((char *) (hdr_ptr)) - offsetof(hdr_type, hdr_member)))
 
#define HTTP_HDR_REQ_FLAG_PARSE_PARAMS   (1 << 0)
 
#define HTTP_HDR_REQ_FLAG_PARSE_COOKIE   (1 << 1)
 

类型定义

typedef acl_int64 http_off_t
 
typedef struct HTTP_HDR HTTP_HDR
 
typedef struct HTTP_HDR_REQ HTTP_HDR_REQ
 
typedef struct HTTP_HDR_RES HTTP_HDR_RES
 
typedef struct HTTP_REQ HTTP_REQ
 
typedef struct HTTP_RES HTTP_RES
 
typedef struct HTTP_HDR_ENTRY HTTP_HDR_ENTRY
 
typedef int(* HTTP_HDR_NOTIFY) (int status, void *arg)
 
typedef int(* HTTP_BODY_NOTIFY) (int status, char *data, int dlen, void *arg)
 

宏定义说明

◆ HDR_RESTORE

#define HDR_RESTORE (   hdr_ptr,
  hdr_type,
  hdr_member 
)    ((hdr_type *) (((char *) (hdr_ptr)) - offsetof(hdr_type, hdr_member)))

在文件 lib_http_struct.h145 行定义.

◆ HTTP_API

#define HTTP_API

◆ HTTP_CHAT_CHUNK_DATA_ENDL

#define HTTP_CHAT_CHUNK_DATA_ENDL   4

块数据体中的分隔行数据

在文件 lib_http_struct.h75 行定义.

◆ HTTP_CHAT_CHUNK_HDR

#define HTTP_CHAT_CHUNK_HDR   3

块数据头中的数据

在文件 lib_http_struct.h74 行定义.

◆ HTTP_CHAT_CHUNK_TRAILER

#define HTTP_CHAT_CHUNK_TRAILER   5

最后一个数据块的头部分数据

在文件 lib_http_struct.h76 行定义.

◆ HTTP_CHAT_CONTINUE

#define HTTP_CHAT_CONTINUE   1

内部用

在文件 lib_http_struct.h72 行定义.

◆ HTTP_CHAT_DATA

#define HTTP_CHAT_DATA   2

数据体中的部分数据

在文件 lib_http_struct.h73 行定义.

◆ HTTP_CHAT_ERR_IO

#define HTTP_CHAT_ERR_IO   101

IO出错

在文件 lib_http_struct.h78 行定义.

◆ HTTP_CHAT_ERR_MAX

#define HTTP_CHAT_ERR_MAX   1000

最大错误范围

在文件 lib_http_struct.h81 行定义.

◆ HTTP_CHAT_ERR_MIN

#define HTTP_CHAT_ERR_MIN   100

做为错误值的最小值

在文件 lib_http_struct.h77 行定义.

◆ HTTP_CHAT_ERR_PROTO

#define HTTP_CHAT_ERR_PROTO   102

请求数据或响应数据的协议出错

在文件 lib_http_struct.h79 行定义.

◆ HTTP_CHAT_ERR_TOO_MANY_LINES

#define HTTP_CHAT_ERR_TOO_MANY_LINES   103

数据头太多行

在文件 lib_http_struct.h80 行定义.

◆ HTTP_CHAT_FLAG_BUFFED

#define HTTP_CHAT_FLAG_BUFFED   0x0001

在文件 lib_http_struct.h84 行定义.

◆ HTTP_CHAT_OK

#define HTTP_CHAT_OK   0

读完了整个数据

在文件 lib_http_struct.h71 行定义.

◆ HTTP_HDR_ENTRY_FORWARD_FOR

#define HTTP_HDR_ENTRY_FORWARD_FOR   "X-Forwarded-For"

HTTP 请求头添加字段

在文件 lib_http_struct.h88 行定义.

◆ HTTP_HDR_ENTRY_VIA

#define HTTP_HDR_ENTRY_VIA   "via"

HTTP 头添加字段,防止递归请求

在文件 lib_http_struct.h87 行定义.

◆ HTTP_HDR_REQ_FLAG_PARSE_COOKIE

#define HTTP_HDR_REQ_FLAG_PARSE_COOKIE   (1 << 1)

在文件 lib_http_struct.h175 行定义.

◆ HTTP_HDR_REQ_FLAG_PARSE_PARAMS

#define HTTP_HDR_REQ_FLAG_PARSE_PARAMS   (1 << 0)

在文件 lib_http_struct.h174 行定义.

类型定义说明

◆ HTTP_BODY_NOTIFY

typedef int(* HTTP_BODY_NOTIFY) (int status, char *data, int dlen, void *arg)

数据体请求过程中的回调函数类型定义

参数
status{int} HTTP_CHAT_XXX status: HTTP_CHAT_OK: 已经读完整个数据体,且 data 代表最后一部分数据, dlen 表示 data 的数据长度 HTTP_CHAT_DATA: 当为块传输方式时,表示每个数据块中的数据体中的部分数据; 当非块传输方式时,表示整个数据体的一部分数据 HTTP_CHAT_CHUNK_HDR: 表示块传输方式中的某个数据块的头数据 HTTP_CHAT_CHUNK_TRAILER: 表示块传输方式中的最后一个数据块的头数据 HTTP_CHAT_CHUNK_DATA_ENDL: 表示块传输方式中每块数据中最后的分隔行数据 HTTP_CHAT_ERR_PROTO: 表示协议出错
data{char *} 所读到的数据开始地址,永远不为空
dlen{int} 表示当前 data 数据长度
返回
{int} 该回调函数如果返回值为 -1 则上级调用者便结束; 若返回 0 上级调用者继续
示例
F:/download/acl/help/include/protocol/http/lib_http.h.

在文件 lib_http_struct.h68 行定义.

◆ HTTP_HDR

typedef struct HTTP_HDR HTTP_HDR

在文件 lib_http_struct.h30 行定义.

◆ HTTP_HDR_ENTRY

在文件 lib_http_struct.h35 行定义.

◆ HTTP_HDR_NOTIFY

typedef int(* HTTP_HDR_NOTIFY) (int status, void *arg)

数据头过程中的回回调函数类型定义

参数
status{int} HTTP_CHAT_XXX status: HTTP_CHAT_OK: 读到完整的数据头 HTTP_CHAT_ERR_TOO_MANY_LINES: 数据头中的行数太多
arg{void*} 回调函数的参数
返回
{int} 该回调函数如果返回值为 -1 则上级调用者便结束; 若返回 0 上级调用者继续
示例
F:/download/acl/help/include/protocol/http/lib_http.h.

在文件 lib_http_struct.h49 行定义.

◆ HTTP_HDR_REQ

typedef struct HTTP_HDR_REQ HTTP_HDR_REQ

在文件 lib_http_struct.h31 行定义.

◆ HTTP_HDR_RES

typedef struct HTTP_HDR_RES HTTP_HDR_RES

在文件 lib_http_struct.h32 行定义.

◆ http_off_t

typedef acl_int64 http_off_t

在文件 lib_http_struct.h27 行定义.

◆ HTTP_REQ

typedef struct HTTP_REQ HTTP_REQ

在文件 lib_http_struct.h33 行定义.

◆ HTTP_RES

typedef struct HTTP_RES HTTP_RES

在文件 lib_http_struct.h34 行定义.