token.to_str() returns result

This commit is contained in:
erikkaum 2024-07-26 10:27:43 +02:00
parent 28ae96b28b
commit cd01adcdee
2 changed files with 9 additions and 6 deletions

View File

@ -33,11 +33,11 @@ use axum::response::{IntoResponse, Response};
use axum::routing::{get, post}; use axum::routing::{get, post};
use axum::{http, Json, Router}; use axum::{http, Json, Router};
use axum_tracing_opentelemetry::middleware::OtelAxumLayer; use axum_tracing_opentelemetry::middleware::OtelAxumLayer;
use http::header::AUTHORIZATION;
use futures::stream::StreamExt; use futures::stream::StreamExt;
use futures::stream::{FuturesOrdered, FuturesUnordered}; use futures::stream::{FuturesOrdered, FuturesUnordered};
use futures::Stream; use futures::Stream;
use futures::TryStreamExt; use futures::TryStreamExt;
use http::header::AUTHORIZATION;
use metrics_exporter_prometheus::{Matcher, PrometheusBuilder, PrometheusHandle}; use metrics_exporter_prometheus::{Matcher, PrometheusBuilder, PrometheusHandle};
use serde_json::Value; use serde_json::Value;
use std::convert::Infallible; use std::convert::Infallible;
@ -1832,11 +1832,14 @@ pub async fn run(
request: axum::extract::Request, request: axum::extract::Request,
next: axum::middleware::Next| async move { next: axum::middleware::Next| async move {
match headers.get(AUTHORIZATION) { match headers.get(AUTHORIZATION) {
Some(token) if token.to_str().to_lowercase() == api_key.to_lowercase() => { Some(token) => match token.to_str() {
Ok(token_str) if token_str.to_lowercase() == api_key.to_lowercase() => {
let response = next.run(request).await; let response = next.run(request).await;
Ok(response) Ok(response)
} }
_ => Err(StatusCode::UNAUTHORIZED), _ => Err(StatusCode::UNAUTHORIZED),
},
_ => Err(StatusCode::UNAUTHORIZED),
} }
}; };