Files
wnmj-normal/Servers/服务器组件/网站网关服务器/ParseData.h
2026-03-03 13:56:44 +08:00

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;
};