/* * 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