summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-06-19 11:40:27 -0600
committermo khan <mo@mokhan.ca>2025-06-19 11:40:27 -0600
commitf08ef97f4894fde8feff08bb91bed1e1c1105b83 (patch)
treefad101bae3ff8a1a9d7e2d312425c7fc89a08203 /src/main.rs
parent594abe311e4dfbbcc477474561756bc5e5f0e539 (diff)
test: add tests
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs35
1 files changed, 4 insertions, 31 deletions
diff --git a/src/main.rs b/src/main.rs
index 05d57719..25e2c88f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,35 +1,8 @@
-use envoy_types::ext_authz::v3::pb::{
- Authorization, AuthorizationServer, CheckRequest, CheckResponse,
-};
-use envoy_types::ext_authz::v3::{CheckRequestExt, CheckResponseExt};
-use tonic::{Request, Response, Status, transport::Server};
+use envoy_types::ext_authz::v3::pb::AuthorizationServer;
+use tonic::transport::Server;
-#[derive(Debug, Default)]
-struct PolicyServer;
-
-#[tonic::async_trait]
-impl Authorization for PolicyServer {
- async fn check(
- &self,
- request: Request<CheckRequest>,
- ) -> Result<Response<CheckResponse>, Status> {
- let request = request.into_inner();
-
- let client_headers = request
- .get_client_headers()
- .ok_or_else(|| Status::invalid_argument("client headers not populated by envoy"))?;
-
- let mut request_status = Status::unauthenticated("not authorized");
-
- if let Some(authorization) = client_headers.get("authorization") {
- if authorization == "Bearer valid-token" {
- request_status = Status::ok("request is valid");
- }
- }
-
- Ok(Response::new(CheckResponse::with_status(request_status)))
- }
-}
+pub mod authorization;
+use authorization::PolicyServer;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {