45 lines
942 B
C
45 lines
942 B
C
|
|
#pragma once
|
||
|
|
|
||
|
|
enum
|
||
|
|
{
|
||
|
|
STATUS_REQUEST = 0,
|
||
|
|
STATUS_HEADER = 1,
|
||
|
|
STATUS_BODY = 2,
|
||
|
|
STATUS_SIMPLE = 3,
|
||
|
|
STATUS_DONE = 4,
|
||
|
|
};
|
||
|
|
|
||
|
|
class CParseData
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
CParseData(void);
|
||
|
|
~CParseData(void);
|
||
|
|
|
||
|
|
public:
|
||
|
|
BOOL ExecutePage(LPCTSTR lpszFileName);
|
||
|
|
void RenderHeaders(CString& strHeaders);
|
||
|
|
BOOL GetServerVariable(LPTSTR lpszVariable, CString &strValue);
|
||
|
|
BOOL GetQueryString(LPTSTR lpszVariable, CString &strValue);
|
||
|
|
void ParseQueryString(LPCTSTR lpszParams);
|
||
|
|
|
||
|
|
void SplitString(LPCTSTR lpszString, TCHAR chSep, CStringArray& aryString);
|
||
|
|
|
||
|
|
int GetRequestMethod() { return m_nRequestMethod; }
|
||
|
|
bool ParseRequests(LPBYTE pData, int nLen);
|
||
|
|
void ProcessRequests();
|
||
|
|
CString DecodeData(LPBYTE cbData, int nLen);
|
||
|
|
|
||
|
|
CString m_QueryParams;
|
||
|
|
CString m_FormVars;
|
||
|
|
|
||
|
|
private:
|
||
|
|
int m_nStatus;
|
||
|
|
int m_nRequestMethod;
|
||
|
|
|
||
|
|
CString m_strBuffer;
|
||
|
|
CStringList m_strLines;
|
||
|
|
|
||
|
|
CSimpleMap<CString, CString> m_Headers;
|
||
|
|
CSimpleMap<CString, CString> m_QueryStringVars;
|
||
|
|
};
|