INNER CODE UNIT · Rust
get_role
rkudryashov/graphql-rust-demo · common-utils/src/lib.rs:26
pub fn get_role(http_request: HttpRequest) -> Result<Option<Role>, CustomError> {
let role_header_value = http_request.headers().get("role");
match role_header_value {
Some(header_value) => {
let header_str = header_value.to_str()?;
Ok(Some(Role::from_str(header_str)?))
}
None => Ok(None),
}
}
pub fn check_user_role_is_allowed(
getting_role_result: &Result<Option<Role>, CustomError>,
allowed_role: &Role,
) -> Result<(), CustomError> {
let maybe_role = match getting_role_result {
Ok(maybe_role) => maybe_role,