http_session.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #pragma once
  2. #include "http_define.h"
  3. #if USE_NET_HTTP_WEBSITE
  4. #include <map>
  5. #include <string>
  6. #include <vector>
  7. #include "util/counter.hpp"
  8. namespace ylib
  9. {
  10. namespace network
  11. {
  12. namespace http
  13. {
  14. class website;
  15. class server;
  16. /// <summary>
  17. /// 会话数据
  18. /// </summary>
  19. class session
  20. {
  21. public:
  22. session();
  23. ~session();
  24. /// <summary>
  25. /// 初始化
  26. /// </summary>
  27. /// <param name="id"></param>
  28. void init(network::http::website* website,const std::string& id);
  29. /// <summary>
  30. /// 唯一ID
  31. /// </summary>
  32. /// <returns></returns>
  33. std::string id();
  34. /// <summary>
  35. /// 更新(防止过期)
  36. /// </summary>
  37. void update();
  38. /// <summary>
  39. /// 置数据
  40. /// </summary>
  41. /// <param name="name"></param>
  42. /// <param name="value"></param>
  43. void set(const std::string& name,const std::string& value);
  44. /// <summary>
  45. /// 读数据
  46. /// </summary>
  47. /// <param name="name"></param>
  48. /// <returns></returns>
  49. std::string get(const std::string& name);
  50. /// <summary>
  51. /// 校验是否过期
  52. /// </summary>
  53. /// <returns></returns>
  54. bool check();
  55. private:
  56. // 唯一ID
  57. std::string m_id;
  58. // 网站
  59. network::http::website* m_website = nullptr;
  60. };
  61. }
  62. }
  63. }
  64. #endif