The Context
class provides a means to set/get a key-value data that can be shared uniquely between middlewares and the handler functions. This allows sending data down the chain from the first to the last handler.
For instance, the auth middleware will inject user id
and subsequent middlewares can retrieve it as needed.
ctx.
set<std::string>(
"key",
"Value");
ctx.
set<
int>(
"id", 967567);
ctx.
set<
bool>(
"verified",
true);
std::optional key = ctx.
get<std::string>(
"key");
std::optional< T * > get(const std::string &key)
Get context value given the key.
Definition http.h:91
void set(const std::string &key, T value)
Store a key-value data in the context.
Definition http.h:78
The value returned from the get()
is a std::optional, meaning a std::nullopt if the key was not found.
std::optional key = ctx.
get<std::string>(
"key");
if(key.has_value()) { .... }
Additionally, we have a
- See also
- get_or() method that takes in a key and a default value if the key is missing. This unlike
-
get() method, returns a
T&
instead of T*
depending on the usage needs.