/
On Request Header

On Request Header

Called by the µC/HTTPc core to allow the application to include a Header Field to the ongoing HTTP Request.

The parameter HTTPc_PARAM_TYPE_REQ_HDR_HOOK must be set up using the function HTTPc_ReqSetParam() for the hook function to be called.

Prototype

CPU_BOOLEAN  HTTPc_ReqHdrHook (HTTPc_CONN_OBJ   *p_conn_obj,
                               HTTPc_REQ_OBJ    *p_req_obj,
                               HTTP_HDR        **p_hdr);

Arguments

p_conn_obj

Pointer to the current HTTPc Connection Object.

p_req_obj

Pointer to the current HTTPc Request Object.

p_hdr

Variable that will received the pointer to the header field to include in the HTTP request.

Return Values

DEF_YES, if all the header fields have been passed by the application.

DEF_NO,   if header fields remain to be passed by the application (Hook function will be called again).

Required Configuration

Notes / Warnings

  • The header field object MUST stay valid until the HTTP transaction is completed.

Example Template

Listing - Request Header Callback Function Example Code
#define  HTTPc_HDR_VAL_LEN_MAX          10

HTTPc_HDR  HTTPc_ReqHdr;
CPU_CHAR   HTTPc_ReqHdrValStr[HTTPc_HDR_VAL_LEN_MAX];


static  CPU_BOOLEAN  HTTPc_ReqHdrHook (HTTPc_CONN_OBJ   *p_conn,
                                       HTTPc_REQ_OBJ    *p_req,
                                       HTTPc_HDR       **p_hdr)
{
	HTTPc_HDR  *p_hdr_tmp;


    p_hdr_tmp         = &HTTPc_ReqHdr;
    p_hdr_tmp->ValPtr = &HTTPc_ReqHdrValStr[0];

    p_hdr_tmp->HdrField = HTTP_HDR_FIELD_COOKIE;
    Str_Copy_N(p_hdr_tmp->ValPtr, "ID=234668", HTTPc_HDR_VAL_LEN_MAX);
    p_hdr_tmp->ValLen   = Str_Len_N(p_hdr_tmp->ValPtr, HTTPc_HDR_VAL_LEN_MAX);

   *p_hdr = p_hdr_tmp;

    return (DEF_YES);
}


Related content

Add Additional Header fields to an HTTP Request
Add Additional Header fields to an HTTP Request
More like this
Receive Request Header Field
Receive Request Header Field
More like this
HTTP Header Configuration
HTTP Header Configuration
More like this
Headers
More like this
HTTP Client Request Object Setup
HTTP Client Request Object Setup
More like this