http_server_lst.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. #include "http_define.h"
  3. #if USE_NET_HTTP_WEBSITE
  4. #include "HPSocket/HPSocket.h"
  5. #include <string>
  6. namespace ylib
  7. {
  8. namespace network
  9. {
  10. namespace http
  11. {
  12. class server;
  13. class agent;
  14. class http_server_lst : public IHttpServerListener
  15. {
  16. public:
  17. public:
  18. http_server_lst(server* server);
  19. ~http_server_lst();
  20. friend class server;
  21. private:
  22. EnHandleResult OnPrepareListen(ITcpServer* pSender, SOCKET soListen);
  23. EnHandleResult OnAccept(ITcpServer* pSender, CONNID dwConnID, UINT_PTR soClient);
  24. EnHandleResult OnHandShake(ITcpServer* pSender, CONNID dwConnID);
  25. EnHandleResult OnReceive(ITcpServer* pSender, CONNID dwConnID, int iLength);
  26. virtual EnHandleResult OnReceive(ITcpServer* pSender, CONNID dwConnID, const BYTE* pData, int iLength) override;
  27. EnHandleResult OnSend(ITcpServer* pSender, CONNID dwConnID, const BYTE* pData, int iLength);
  28. EnHandleResult OnShutdown(ITcpServer* pSender);
  29. EnHandleResult OnClose(ITcpServer* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode);
  30. EnHttpParseResult OnMessageBegin(IHttpServer* pSender, CONNID dwConnID);
  31. EnHttpParseResult OnRequestLine(IHttpServer* pSender, CONNID dwConnID, LPCSTR lpszMethod, LPCSTR lpszUrl);
  32. EnHttpParseResult OnStatusLine(IHttpServer* pSender, CONNID dwConnID, USHORT usStatusCode, LPCSTR lpszDesc);
  33. EnHttpParseResult OnHeader(IHttpServer* pSender, CONNID dwConnID, LPCSTR lpszName, LPCSTR lpszValue);
  34. EnHttpParseResult OnHeadersComplete(IHttpServer* pSender, CONNID dwConnID);
  35. EnHttpParseResult OnChunkHeader(IHttpServer* pSender, CONNID dwConnID, int iLength);
  36. EnHttpParseResult OnChunkComplete(IHttpServer* pSender, CONNID dwConnID);
  37. EnHttpParseResult OnUpgrade(IHttpServer* pSender, CONNID dwConnID, EnHttpUpgradeType enUpgradeType);
  38. EnHttpParseResult OnBody(IHttpServer* pSender, CONNID dwConnID, const BYTE* pData, int iLength);
  39. EnHttpParseResult OnMessageComplete(IHttpServer* pSender, CONNID dwConnID);
  40. EnHttpParseResult OnParseError(IHttpServer* pSender, CONNID dwConnID, int iErrorCode, LPCSTR lpszErrorDesc);
  41. EnHandleResult OnWSMessageHeader(IHttpServer* pSender, CONNID dwConnID, BOOL bFinal, BYTE iReserved, BYTE iOperationCode, const BYTE lpszMask[4], ULONGLONG ullBodyLen);
  42. EnHandleResult OnWSMessageBody(IHttpServer* pSender, CONNID dwConnID, const BYTE* pData, int iLength);
  43. EnHandleResult OnWSMessageComplete(IHttpServer* pSender, CONNID dwConnID);
  44. private:
  45. // HPSERVER 指针
  46. network::http::server* m_server;
  47. };
  48. }
  49. }
  50. }
  51. #endif