123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- // ServerDlg.h : header file
- //
- #pragma once
- #include "afxwin.h"
- #include "../../../Src/HttpServer.h"
- #include "../../Global/helper.h"
- class CServerDlg;
- class CHttpServerListenerImpl : public CHttpServerListener
- {
- private:
- virtual EnHandleResult OnPrepareListen(SOCKET soListen);
- virtual EnHandleResult OnAccept(CONNID dwConnID, SOCKET soClient);
- virtual EnHandleResult OnHandShake(CONNID dwConnID);
- virtual EnHandleResult OnReceive(CONNID dwConnID, const BYTE* pData, int iLength);
- virtual EnHandleResult OnSend(CONNID dwConnID, const BYTE* pData, int iLength);
- virtual EnHandleResult OnClose(CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode);
- virtual EnHandleResult OnShutdown();
- virtual EnHttpParseResult OnMessageBegin(CONNID dwConnID);
- virtual EnHttpParseResult OnRequestLine(CONNID dwConnID, LPCSTR lpszMethod, LPCSTR lpszUrl);
- virtual EnHttpParseResult OnHeader(CONNID dwConnID, LPCSTR lpszName, LPCSTR lpszValue);
- virtual EnHttpParseResult OnHeadersComplete(CONNID dwConnID);
- virtual EnHttpParseResult OnBody(CONNID dwConnID, const BYTE* pData, int iLength);
- virtual EnHttpParseResult OnChunkHeader(CONNID dwConnID, int iLength);
- virtual EnHttpParseResult OnChunkComplete(CONNID dwConnID);
- virtual EnHttpParseResult OnMessageComplete(CONNID dwConnID);
- virtual EnHttpParseResult OnUpgrade(CONNID dwConnID, EnHttpUpgradeType enUpgradeType);
- virtual EnHttpParseResult OnParseError(CONNID dwConnID, int iErrorCode, LPCSTR lpszErrorDesc);
- public:
- void SetServer(LPCTSTR lpszName, IHttpServer* pServer)
- {
- m_strName = lpszName;
- m_pServer = pServer;
- }
- CStringA GetHeaderSummary(CONNID dwConnID, LPCSTR lpszSep = " ", int iSepCount = 0, BOOL bWithContentLength = TRUE);
- public:
- CHttpServerListenerImpl(CServerDlg* pDlg)
- : m_pDlg (pDlg)
- , m_pServer (nullptr)
- {
- }
- public:
- CServerDlg* m_pDlg;
- IHttpServer* m_pServer;
- CString m_strName;
- };
- // CServerDlg dialog
- class CServerDlg : public CDialogEx
- {
- // Construction
- public:
- CServerDlg(CWnd* pParent = NULL); // standard constructor
- // Dialog Data
- enum { IDD = IDD_SERVER_DIALOG };
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- virtual BOOL PreTranslateMessage(MSG* pMsg);
- // Implementation
- protected:
- HICON m_hIcon;
- // Generated message map functions
- virtual BOOL OnInitDialog();
- afx_msg void OnPaint();
- afx_msg HCURSOR OnQueryDragIcon();
- afx_msg void OnBnClickedStart();
- afx_msg void OnBnClickedStop();
- afx_msg void OnBnClickedDisconnect();
- afx_msg void OnBnClickedRelease();
- afx_msg void OnEnChangeConnId();
- afx_msg LRESULT CServerDlg::OnUserInfoMsg(WPARAM wp, LPARAM lp);
- afx_msg int OnVKeyToItem(UINT nKey, CListBox* pListBox, UINT nIndex);
- DECLARE_MESSAGE_MAP()
- public:
- void SetAppState(EnAppState state);
- private:
- CListBox m_Info;
- CButton m_Start;
- CButton m_Stop;
- CEdit m_ConnID;
- CButton m_DisConn;
- CButton m_Release;
- CButton m_RadioHttp;
- CButton m_RadioHttps;
- EnAppState m_enState;
- private:
- static const LPCTSTR ADDRESS;
- static const LPCTSTR HTTP_NAME;
- static const LPCTSTR HTTPS_NAME;
- static const USHORT HTTP_PORT;
- static const USHORT HTTPS_PORT;
- CHttpServerListenerImpl m_HttpListener;
- CHttpServerListenerImpl m_HttpsListener;
- CHttpServer m_HttpServer;
- CHttpsServer m_HttpsServer;
- };
|