최종완료보고 버전
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
|
||||
#ifndef WEB_SERVER__H_
|
||||
#define WEB_SERVER__H_
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
class HWebServer : public HHttpHandler
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
WS_READ_BYTES = (256 * 1024 - 1) // 256Kbyte
|
||||
};
|
||||
|
||||
HWebServer();
|
||||
~HWebServer();
|
||||
|
||||
inline void SetHomeDir(const char * pszDir) { m_strHomeDir = pszDir; }
|
||||
const char * GetContentType(const char * pszRequestUri);
|
||||
void AddStaticDir(const char * pszDir);
|
||||
|
||||
protected:
|
||||
int SendResponse();
|
||||
int SendFileHeader();
|
||||
int SendOpenedFile();
|
||||
|
||||
int OnSendRetryToTransport();
|
||||
int OnPacketProcessing(const char * pBodyData, int nBodySize);
|
||||
|
||||
virtual int OnPrepareRequest(const char * pBodyData, int nBodySize) { return 1; }
|
||||
virtual int OnReceivedRequest(const char * pBodyData, int nBodySize) { return -1; }
|
||||
|
||||
bool IsStaticRequest();
|
||||
|
||||
protected:
|
||||
HString m_strHomeDir;
|
||||
HStrList m_listStaticDir;
|
||||
|
||||
char * m_pszResponse;
|
||||
char * m_pszResponseOffset;
|
||||
int m_nResponseRemainSize;
|
||||
|
||||
|
||||
HFile m_file;
|
||||
off_t m_nFileSize;
|
||||
char * m_pFileBuffer;
|
||||
char * m_pFileBufferOffset;
|
||||
long m_nRemainBufferSize;
|
||||
};
|
||||
|
||||
#endif // WEB_SERVER__H_
|
||||
Reference in New Issue
Block a user