NAME

HTTP_FILTER_LOG - ISAPI Logging notification data.


SYNOPSIS

 #include "httpfilt.h"
 typedef struct _HTTP_FILTER_LOG {
    const CHAR *pszClientHostName;
    const CHAR *pszClientUserName;
    const CHAR *pszServerName;
    const CHAR *pszOperation;
    const CHAR *pszTarget;
    const CHAR *pszParameters;
    DWORD       dwHttpStatus;
    DWORD       dwWin32Status;
    DWORD       dwBytesSent;
    DWORD       dwBytesRecvd;
    DWORD       msTimeForProcessing;
 } HTTP_FILTER_LOG, *PHTTP_FILTER_LOG;


DESCRIPTION

When HttpFilterProc is called with NotificationType set to SF_NOTIFY_LOG, its pvNotification is a pointer to an HTTP_FILTER_LOG structure carrying the information the web server is about to write to its log files (if any) to record the request.

The string pointers, psz..., may be replaced (though the strings to which they point may not be modified) but the memory to which the replacements point must remain valid (i.e. not be free()ed) until the next notification.

Use of AllocMem(3) to allocate the memory for replacement strings is recommended, as this avoids the need to track its lifetime.


DATA FIELDS

The fields of the structure have names which indicate their meanings. Note that the `time for processing' is measured in milliseconds and the Windows-specific error code dwWin32Status should be ignored under Unix (but may evolve into an errno value). The `operation' is the HTTP command (GET, POST, PUT, ...) serviced. The URL requested is decomposed into the `server name', `target' (i.e. path) and `parameters' (i.e. ?name=value&...=...&this=that).


SEE ALSO

isapi(7), GetFilterVersion(3), HttpFilterProc(3), AllocMem(3), HTTP_FILTER_CONTEXT(5).


FILES

$ZEUSHOME/web/include/httpfilt.h $ZEUSHOME/web/include/wintypes.h $ZEUSHOME/webadmin/docroot/docs/modules/isapi/*.html


COPYRIGHT

Copyright (C) 2000-2001 Zeus Technology Limited. All rights reserved.