/*
* ModSecurity for Apache 2.x, http://www.modsecurity.org/
* Copyright (c) 2004-2013 Trustwave Holdings, Inc. (http://www.trustwave.com/)
*
* You may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* If any of the files related to licensing are missing or if you have any
* other questions related to licensing please contact Trustwave Holdings, Inc.
* directly using the email address security@modsecurity.org.
*/
#ifndef __MY_MODULE_H__
#define __MY_MODULE_H__
// The module implementation.
// This class is responsible for implementing the
// module functionality for each of the server events
// that it registers for.
class CMyHttpModule : public CHttpModule
{
public:
HANDLE m_hEventLog;
DWORD m_dwPageSize;
CRITICAL_SECTION m_csLock;
REQUEST_NOTIFICATION_STATUS
OnBeginRequest(
IN IHttpContext * pHttpContext,
IN IHttpEventProvider * pProvider
);
REQUEST_NOTIFICATION_STATUS
OnSendResponse(
IN IHttpContext * pHttpContext,
IN ISendResponseProvider * pProvider
);
REQUEST_NOTIFICATION_STATUS
OnPostEndRequest(
IN IHttpContext * pHttpContext,
IN IHttpEventProvider * pProvider
);
HRESULT ReadFileChunk(HTTP_DATA_CHUNK *chunk, char *buf);
CMyHttpModule();
~CMyHttpModule();
void Dispose();
BOOL WriteEventViewerLog(LPCSTR szNotification, WORD category = EVENTLOG_INFORMATION_TYPE);
BOOL status_call_already_sent;
};
#endif