162 lines
7.7 KiB
C
162 lines
7.7 KiB
C
/*
|
|
*********************************************************************************************************
|
|
* EXAMPLE CODE
|
|
*
|
|
* This file is provided as an example on how to use Micrium products.
|
|
*
|
|
* Please feel free to use any application code labeled as 'EXAMPLE CODE' in
|
|
* your application products. Example code may be used as is, in whole or in
|
|
* part, or may be used as a reference only. This file can be modified as
|
|
* required to meet the end-product requirements.
|
|
*
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
/*
|
|
*********************************************************************************************************
|
|
*
|
|
* EXAMPLE
|
|
*
|
|
* HTTP CLIENT HOOK FUNCTIONS FILE
|
|
*
|
|
* Filename : http-c_hooks.h
|
|
* Version : V3.01.00
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
/*
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
* MODULE
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
#ifndef HTTPc_HOOKS_MODULE_PRESENT
|
|
#define HTTPc_HOOKS_MODULE_PRESENT
|
|
|
|
|
|
/*
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
* INCLUDE FILES
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
#include "http-c.h"
|
|
|
|
|
|
/*
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
* FUNCTION PROTOTYPES
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
CPU_BOOLEAN HTTPcApp_ReqQueryStrHook(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTPc_KEY_VAL **p_key_val);
|
|
|
|
CPU_BOOLEAN HTTPcApp_ReqHdrHook(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTPc_HDR **p_hdr);
|
|
|
|
CPU_BOOLEAN HTTPcApp_ReqBodyHook(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
void **p_data,
|
|
CPU_CHAR *p_buf,
|
|
CPU_INT16U buf_len,
|
|
CPU_INT16U *p_data_len);
|
|
|
|
void HTTPcApp_RespHdrHook(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTP_HDR_FIELD hdr_field,
|
|
CPU_CHAR *p_hdr_val,
|
|
CPU_INT16U val_len);
|
|
|
|
CPU_INT32U HTTPcApp_RespBodyHook(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTP_CONTENT_TYPE content_type,
|
|
void *p_data,
|
|
CPU_INT16U data_len,
|
|
CPU_BOOLEAN last_chunk);
|
|
|
|
CPU_BOOLEAN HTTPcApp_FormMultipartHook(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTPc_KEY_VAL_EXT *p_key_val_obj,
|
|
CPU_CHAR *p_buf,
|
|
CPU_INT16U buf_len,
|
|
CPU_INT16U *p_len_wr);
|
|
|
|
#if (HTTPc_APP_FS_MODULE_PRESENT == DEF_YES)
|
|
CPU_BOOLEAN HTTPcApp_FormMultipartFileHook(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTPc_MULTIPART_FILE *p_file_obj,
|
|
CPU_CHAR *p_buf,
|
|
CPU_INT16U buf_len,
|
|
CPU_INT16U *p_len_wr);
|
|
#endif
|
|
|
|
#ifdef HTTPc_TASK_MODULE_EN
|
|
void HTTPcApp_ConnConnectCallback(HTTPc_CONN_OBJ *p_conn,
|
|
CPU_BOOLEAN open_status);
|
|
|
|
void HTTPcApp_ConnCloseCallback(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_CONN_CLOSE_STATUS close_status,
|
|
HTTPc_ERR err);
|
|
|
|
void HTTPcApp_TransDoneCallback(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTPc_RESP_OBJ *p_resp,
|
|
CPU_BOOLEAN status);
|
|
|
|
void HTTPcApp_TransErrCallback(HTTPc_CONN_OBJ *p_conn,
|
|
HTTPc_REQ_OBJ *p_req,
|
|
HTTPc_ERR err_code);
|
|
#endif
|
|
|
|
|
|
/*
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
* TRACE / DEBUG CONFIGURATION
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
#ifndef TRACE_LEVEL_OFF
|
|
#define TRACE_LEVEL_OFF 0
|
|
#endif
|
|
|
|
#ifndef TRACE_LEVEL_INFO
|
|
#define TRACE_LEVEL_INFO 1
|
|
#endif
|
|
|
|
#ifndef TRACE_LEVEL_DEBUG
|
|
#define TRACE_LEVEL_DEBUG 2
|
|
#endif
|
|
|
|
#ifndef TRACE_LEVEL_DBG
|
|
#define TRACE_LEVEL_DBG 2
|
|
#endif
|
|
|
|
#define HTTPc_APP_TRACE_LEVEL TRACE_LEVEL_INFO
|
|
#define HTTPc_APP_TRACE printf
|
|
|
|
#define HTTPc_APP_TRACE_INFO(x) ((HTTPc_APP_TRACE_LEVEL >= TRACE_LEVEL_INFO) ? (void)(HTTPc_APP_TRACE x) : (void)0)
|
|
#define HTTPc_APP_TRACE_DBG(x) ((HTTPc_APP_TRACE_LEVEL >= TRACE_LEVEL_DEBUG) ? (void)(HTTPc_APP_TRACE x) : (void)0)
|
|
|
|
#define HTTPc_APP_TRACE_DEBUG(x) HTTPc_APP_TRACE_DBG(x)
|
|
|
|
/*
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
* MODULE END
|
|
*********************************************************************************************************
|
|
*********************************************************************************************************
|
|
*/
|
|
|
|
#endif /* HTTPc_HOOKS_MODULE_PRESENT */
|