userver: samples/grpc_middleware_service/src/middlewares/server/auth.cpp
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
samples/grpc_middleware_service/src/middlewares/server/auth.cpp
#include "auth.hpp"
#include <middlewares/auth.hpp>
namespace samples::grpc::auth::server {
Middleware::Middleware() = default;
void Middleware::OnCallStart(ugrpc::server::MiddlewareCallContext& context) const {
const auto& metadata = context.GetServerContext().client_metadata();
auto it = metadata.find(kKey);
if (it == metadata.cend() || it->second != kCredentials) {
LOG_ERROR() << "Invalid credentials";
return context.SetError(::grpc::Status{::grpc::StatusCode::PERMISSION_DENIED, "Invalid credentials"});
}
}
} // namespace samples::grpc::auth::server