HTTP会话结构
更多...
#include <http_session.hpp>
HTTP会话结构
表示一个服务器端HTTP会话,用于存储用户会话数据。 每个会话有唯一的ID,可以存储键值对数据。
使用示例:
session.
id = generate_session_id();
session["user_id"] = "12345";
session.
set(
"username",
"john_doe");
string user_id = session.
get(
"user_id");
}
}
void invalidate() noexcept
无效化会话
NEFORCE_NODISCARD bool expired(seconds max_inactive=0_s) const noexcept
检查会话是否已过期
void set(const string &key, string value)
设置值
void touch() noexcept
更新最后访问时间
seconds max_age
最大空闲时间,默认30分钟
NEFORCE_NODISCARD bool contains(const string &key) const noexcept
检查是否包含键
NEFORCE_NODISCARD string_view get(const string &key) const
获取值
在文件 http_session.hpp 第 161 行定义.
◆ age()
| NEFORCE_NODISCARD seconds http_session::age |
( |
| ) |
const |
|
inlinenoexcept |
◆ contains()
| NEFORCE_NODISCARD bool http_session::contains |
( |
const string & | key | ) |
const |
|
noexcept |
◆ expired()
| NEFORCE_NODISCARD bool http_session::expired |
( |
seconds | max_inactive = 0_s | ) |
const |
|
noexcept |
检查会话是否已过期
- 参数
-
| max_inactive | 最大无活动时间,0表示使用max_age |
- 返回
- 已过期返回true
引用了 expired().
被这些函数引用 expired().
◆ get()
获取值
- 参数
-
- 返回
- 值的字符串视图,不存在返回空字符串
◆ idle_time()
| NEFORCE_NODISCARD seconds http_session::idle_time |
( |
| ) |
const |
|
inlinenoexcept |
◆ invalidate()
| void http_session::invalidate |
( |
| ) |
|
|
noexcept |
无效化会话
标记会话为无效,通常用于用户登出。 不会立即清除数据,但is_valid()会返回false。
◆ is_valid()
| NEFORCE_NODISCARD bool http_session::is_valid |
( |
| ) |
const |
|
noexcept |
◆ operator[]()
| NEFORCE_NODISCARD string & http_session::operator[] |
( |
const string & | key | ) |
|
下标操作符
- 参数
-
- 返回
- 值的引用
如果键不存在,会自动创建空字符串条目。 访问时会自动更新last_access。
◆ remove()
| bool http_session::remove |
( |
const string & | key | ) |
|
◆ set()
◆ to_string()
| NEFORCE_NODISCARD string http_session::to_string |
( |
| ) |
const |
◆ touch()
| void http_session::touch |
( |
| ) |
|
|
noexcept |
更新最后访问时间
将last_access更新为当前时间,并将is_new设为false。 在每次请求处理时应调用此方法。
引用了 touch().
被这些函数引用 touch().
该结构体的文档由以下文件生成: