userver
C++ Async Framework
Loading...
Searching...
No Matches
user_env.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/server/auth/user_env.hpp
4
/// @brief @copybrief server::auth::UserEnv
5
6
#
include
<
stdexcept
>
7
#
include
<
string
>
8
9
#
include
<
userver
/
formats
/
parse
/
to
.
hpp
>
10
#
include
<
userver
/
utils
/
assert
.
hpp
>
11
12
USERVER_NAMESPACE_BEGIN
13
14
namespace
server::
handlers
::auth {
15
class
AuthCheckerBase
;
16
}
17
18
namespace
server::auth {
19
20
/// @brief Authorization environments for users
21
enum
class
UserEnv
:
int
{
22
kProd,
23
kTest,
24
kProdYateam,
25
kTestYateam,
26
kStress,
27
};
28
29
template
<
class
Value>
30
UserEnv
Parse(
const
Value& v, formats::
parse
::To<
UserEnv
>) {
31
const
std::string env_name = v.
template
As<std::string>();
32
if
(env_name ==
"Prod"
|| env_name ==
"Mimino"
) {
33
return
UserEnv
::kProd;
34
}
else
if
(env_name ==
"Test"
) {
35
return
UserEnv
::kTest;
36
}
else
if
(env_name ==
"ProdYateam"
) {
37
return
UserEnv
::kProdYateam;
38
}
else
if
(env_name ==
"TestYateam"
) {
39
return
UserEnv
::kTestYateam;
40
}
else
if
(env_name ==
"Stress"
) {
41
return
UserEnv
::kStress;
42
}
43
44
UASSERT_MSG
(
false
,
"Unknown user env"
);
45
throw
std::runtime_error(
"Unknown user env "
+ env_name);
46
}
47
48
std::string ToString(
UserEnv
env);
49
50
}
// namespace server::auth
51
52
USERVER_NAMESPACE_END
userver
server
auth
user_env.hpp
Generated on Thu May 21 2026 16:19:08 for userver by
Doxygen
1.13.2