📄 httpparser.h
字号:
* Return : void ;** Note :************************************************************************/void httpmsg_destroy( INOUT http_message_t* msg );/************************************************************************* Function : httpmsg_find_hdr_str** Parameters :* IN http_message_t* msg ; HTTP Message Object* IN const char* header_name ; Header name to be compared with ** Description : Compares the header name with the header names stored * in the linked list of messages** Return : http_header_t* - Pointer to a header on success;* NULL on failure ** Note :************************************************************************/http_header_t* httpmsg_find_hdr_str( IN http_message_t* msg, IN const char* header_name );/************************************************************************* Function : httpmsg_find_hdr** Parameters :* IN http_message_t* msg ; HTTP Message Object* IN int header_name_id ; Header Name ID to be compared with* OUT memptr* value ; Buffer to get the ouput to.** Description : Finds header from a list, with the given 'name_id'.** Return : http_header_t* - Pointer to a header on success; ** NULL on failure ** Note :************************************************************************/http_header_t* httpmsg_find_hdr( IN http_message_t* msg, IN int header_name_id, OUT memptr* value );/************************************************************************* Function: parser_request_init * * Parameters: * OUT http_parser_t* parser ; HTTP Parser object * * Description: Initializes parser object for a request * * Returns: * void ************************************************************************/void parser_request_init( OUT http_parser_t* parser );/************************************************************************* Function: parser_response_init * * Parameters: * OUT http_parser_t* parser ; HTTP Parser object* IN http_method_t request_method ; Request method * * Description: Initializes parser object for a response * * Returns: * void ************************************************************************/void parser_response_init( OUT http_parser_t* parser, IN http_method_t request_method );/************************************************************************* Function: parser_parse * * Parameters: * INOUT http_parser_t* parser ; HTTP Parser object * * Description: The parser function. Depending on the position of the * parser object the actual parsing function is invoked * * Returns: * void ************************************************************************/parse_status_t parser_parse(INOUT http_parser_t * parser);/************************************************************************* Function: parser_parse_responseline * * Parameters: * INOUT http_parser_t* parser ; HTTP Parser object * * Description: Get HTTP Method, URL location and version information. * * Returns: * PARSE_OK * PARSE_SUCCESS * PARSE_FAILURE ************************************************************************/parse_status_t parser_parse_responseline(INOUT http_parser_t *parser);/************************************************************************* Function: parser_parse_headers * * Parameters: * INOUT http_parser_t* parser ; HTTP Parser object * * Description: Get HTTP Method, URL location and version information. * * Returns: * PARSE_OK * PARSE_SUCCESS * PARSE_FAILURE ************************************************************************/parse_status_t parser_parse_headers(INOUT http_parser_t *parser);/************************************************************************* Function: parser_parse_entity * * Parameters: * INOUT http_parser_t* parser ; HTTP Parser object * * Description: Determines method to read entity * * Returns: * PARSE_OK * PARSE_FAILURE * PARSE_COMPLETE -- no more reading to do ************************************************************************/parse_status_t parser_parse_entity(INOUT http_parser_t *parser);/************************************************************************* Function: parser_get_entity_read_method * * Parameters: * INOUT http_parser_t* parser ; HTTP Parser object * * Description: Determines method to read entity * * Returns: * PARSE_OK * PARSE_FAILURE * PARSE_COMPLETE -- no more reading to do ************************************************************************/parse_status_t parser_get_entity_read_method( INOUT http_parser_t* parser );/************************************************************************* Function: parser_append * * Parameters: * INOUT http_parser_t* parser ; HTTP Parser Object * IN const char* buf ; buffer to be appended to the parser * buffer * IN size_t buf_length ; Size of the buffer * * Description: The parser function. Depending on the position of the * parser object the actual parsing function is invoked * * Returns: * void ************************************************************************/parse_status_t parser_append( INOUT http_parser_t* parser, IN const char* buf, IN size_t buf_length );/************************************************************************* Function: matchstr * * Parameters: * IN char *str ; String to be matched * IN size_t slen ; Length of the string * IN const char* fmt ; Pattern format * ... * * Description: Matches a variable parameter list with a string * and takes actions based on the data type specified. * * Returns: * PARSE_OK * PARSE_NO_MATCH -- failure to match pattern 'fmt' * PARSE_FAILURE -- 'str' is bad input ************************************************************************/int matchstr( IN char *str, IN size_t slen, IN const char* fmt, ... );// ====================================================// misc functions/************************************************************************* Function: raw_to_int * * Parameters: * IN memptr* raw_value ; Buffer to be converted * IN int base ; Base to use for conversion* * Description: Converts raw character data to long-integer value * * Returns: * int ************************************************************************/int raw_to_int( IN memptr* raw_value, int base );/************************************************************************* Function: raw_find_str * * Parameters: * IN memptr* raw_value ; Buffer containg the string * IN const char* str ; Substring to be found * * Description: Find a substring from raw character string buffer * * Returns: * int - index at which the substring is found. ************************************************************************/int raw_find_str( IN memptr* raw_value, IN const char* str );/************************************************************************* Function: method_to_str * * Parameters: * IN http_method_t method ; HTTP method * * Description: A wrapper function that maps a method id to a method * nameConverts a http_method id stored in the HTTP Method * * Returns: * const char* ptr - Ptr to the HTTP Method *************************************************************************/const char* method_to_str( IN http_method_t method );/************************************************************************* Function: print_http_headers * * Parameters: * http_message_t* hmsg ; HTTP Message object * * Description: * * Returns: * void ************************************************************************/void print_http_headers( IN http_message_t* hmsg );#ifdef __cplusplus} // extern "C"#endif // __cplusplus#endif // GENLIB_NET_HTTP_HTTPPARSER_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -