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