Nebula
Nebula
http_parser.h 文件参考
+ http_parser.h 的引用(Include)关系图:
+ 此图展示该文件直接或间接的被哪些文件引用了:

struct  http_parser
 
struct  http_parser_settings
 
struct  http_parser_url
 

宏定义

#define HTTP_PARSER_VERSION_MAJOR   2
 
#define HTTP_PARSER_VERSION_MINOR   8
 
#define HTTP_PARSER_VERSION_PATCH   1
 
#define HTTP_PARSER_STRICT   1
 
#define HTTP_MAX_HEADER_SIZE   (80*1024)
 
#define HTTP_STATUS_MAP(XX)
 
#define XX(num, name, string)   HTTP_STATUS_##name = num,
 
#define HTTP_METHOD_MAP(XX)
 
#define XX(num, name, string)   HTTP_##name = num,
 
#define HTTP_ERRNO_MAP(XX)
 
#define HTTP_ERRNO_GEN(n, s)   HPE_##n,
 
#define HTTP_PARSER_ERRNO(p)   ((enum http_errno) (p)->http_errno)
 

类型定义

typedef struct http_parser http_parser
 
typedef struct http_parser_settings http_parser_settings
 
typedef int(* http_data_cb )(http_parser *, const char *at, size_t length)
 
typedef int(* http_cb )(http_parser *)
 

枚举

enum  http_status
 
enum  http_method
 
enum  http_parser_type { HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH }
 
enum  flags {
  F_CHUNKED = 1 << 0, F_CONNECTION_KEEP_ALIVE = 1 << 1, F_CONNECTION_CLOSE = 1 << 2, F_CONNECTION_UPGRADE = 1 << 3,
  F_TRAILING = 1 << 4, F_UPGRADE = 1 << 5, F_SKIPBODY = 1 << 6, F_CONTENTLENGTH = 1 << 7
}
 
enum  http_errno
 
enum  http_parser_url_fields {
  UF_SCHEMA = 0, UF_HOST = 1, UF_PORT = 2, UF_PATH = 3,
  UF_QUERY = 4, UF_FRAGMENT = 5, UF_USERINFO = 6, UF_MAX = 7
}
 

函数

unsigned long http_parser_version (void)
 
void http_parser_init (http_parser *parser, enum http_parser_type type)
 
void http_parser_settings_init (http_parser_settings *settings)
 
size_t http_parser_execute (http_parser *parser, const http_parser_settings *settings, const char *data, size_t len)
 
int http_should_keep_alive (const http_parser *parser)
 
const char * http_method_str (enum http_method m)
 
const char * http_status_str (enum http_status s)
 
const char * http_errno_name (enum http_errno err)
 
const char * http_errno_description (enum http_errno err)
 
void http_parser_url_init (struct http_parser_url *u)
 
int http_parser_parse_url (const char *buf, size_t buflen, int is_connect, struct http_parser_url *u)
 
void http_parser_pause (http_parser *parser, int paused)
 
int http_body_is_final (const http_parser *parser)
 

宏定义说明

#define HTTP_ERRNO_GEN (   n,
 
)    HPE_##n,
#define HTTP_ERRNO_MAP (   XX)
#define HTTP_MAX_HEADER_SIZE   (80*1024)
#define HTTP_METHOD_MAP (   XX)
#define HTTP_PARSER_ERRNO (   p)    ((enum http_errno) (p)->http_errno)
#define HTTP_PARSER_STRICT   1
#define HTTP_PARSER_VERSION_MAJOR   2
#define HTTP_PARSER_VERSION_MINOR   8
#define HTTP_PARSER_VERSION_PATCH   1
#define HTTP_STATUS_MAP (   XX)
#define XX (   num,
  name,
  string 
)    HTTP_STATUS_##name = num,
#define XX (   num,
  name,
  string 
)    HTTP_##name = num,

类型定义说明

typedef int(* http_cb)(http_parser *)
typedef int(* http_data_cb)(http_parser *, const char *at, size_t length)
typedef struct http_parser http_parser

枚举类型说明

enum flags
枚举值
F_CHUNKED 
F_CONNECTION_KEEP_ALIVE 
F_CONNECTION_CLOSE 
F_CONNECTION_UPGRADE 
F_TRAILING 
F_UPGRADE 
F_SKIPBODY 
F_CONTENTLENGTH 
enum http_errno
枚举值
HTTP_REQUEST 
HTTP_RESPONSE 
HTTP_BOTH 
枚举值
UF_SCHEMA 
UF_HOST 
UF_PORT 
UF_PATH 
UF_QUERY 
UF_FRAGMENT 
UF_USERINFO 
UF_MAX 

函数说明

int http_body_is_final ( const http_parser parser)
const char* http_errno_description ( enum http_errno  err)
const char* http_errno_name ( enum http_errno  err)

+ 这是这个函数的调用关系图:

const char* http_method_str ( enum http_method  m)

+ 这是这个函数的调用关系图:

size_t http_parser_execute ( http_parser parser,
const http_parser_settings settings,
const char *  data,
size_t  len 
)

+ 函数调用图:

+ 这是这个函数的调用关系图:

void http_parser_init ( http_parser parser,
enum http_parser_type  type 
)

+ 这是这个函数的调用关系图:

int http_parser_parse_url ( const char *  buf,
size_t  buflen,
int  is_connect,
struct http_parser_url u 
)

+ 这是这个函数的调用关系图:

void http_parser_pause ( http_parser parser,
int  paused 
)
void http_parser_settings_init ( http_parser_settings settings)
void http_parser_url_init ( struct http_parser_url u)
unsigned long http_parser_version ( void  )
int http_should_keep_alive ( const http_parser parser)

+ 函数调用图:

+ 这是这个函数的调用关系图:

const char* http_status_str ( enum http_status  s)