HTTP_FILTER_PREPROC_HEADERS Structure

The HTTP_FILTER_PREPROC_HEADERS structure has the following form:

typedef struct _HTTP_FILTER_PREPROC_HEADERS

{
BOOL    (WINAPI * GetHeader) (   
    struct _HTTP_FILTER_CONTEXT *    pfc,
    LPSTR    lpszName,
    LPVOID    lpvBuffer,
    LPDWORD    lpdwSize
    );    
BOOL    (WINAPI * SetHeader) (    
    struct _HTTP_FILTER_CONTEXT *    pfc,
    LPSTR    lpszName,
    LPSTR    lpszValue
    );     
BOOL    (WINAPI * AddHeader) (    
    struct _HTTP_FILTER_CONTEXT *    pfc,
    LPSTR    lpszName,
    LPSTR    lpszValue
    );     
DWORD    dwReserved;    

} HTTP_FILTER_PREPROC_HEADERS, *PHTTP_FILTER_PREPROC_HEADERS;

This structure is pointed to by the pvNotification in CHttpFilter::HttpFilterProc when NotificationType is SF_NOTIFY_PREPROC_HEADERS, which indicates when the server is about to process the client headers.

Members

GetHeader

Pointer to a function that retrieves the specified header value. Header names should include the trailing colon (“:”).  The special values “method”, “url” and “version” can be used to retrieve the individual portions of the request line. GetHeader takes the following parameters:

  • pfc   Filter context for this request from the pointer to the filter context passed to the CHttpFilter::HttpFilterProc.

  • lpszName   The name of the header to retrieve.

  • lpvBuffer   Pointer to a buffer of size lpdwSize where the value of the header will be stored.

  • lpdwSize   Size of the buffer pointed to by lpvBuffer.

SetHeader

Pointer to a function used to change or delete the value of a header. SetHeader takes the following parameters:

  • pfc   Filter context for this request from the pointer to the filter context passed to the CHttpFilter::HttpFilterProc.

  • lpszName   Pointer to the name of the header to change or delete.

  • lpszValue   Pointer to the string to change the header to, or a pointer to “\0” to delete the header.

AddHeader

Pointer to a function to add a header. AddHeader takes the following parameters:

  • pfc   Filter context for this request from the pointer to the filter context passed to the CHttpFilter::HttpFilterProc.

  • lpszName   Pointer to the name of the header to change or delete.

  • lpszValue   Pointer to the string to change the header to, or a pointer to ”\0” to delete the header.

See AlsoCHttpFilter::HttpFilterProc, CHttpFilter::OnPreprocHeaders