chore: add http2 support with connection tracking and optimize middlewares
This commit is contained in:
@@ -31,18 +31,14 @@ impl ApiKeyMiddleware {
|
||||
|
||||
impl Middleware for ApiKeyMiddleware {
|
||||
fn run(&self, req: Request<Incoming>) -> MiddlewareFuture<'_> {
|
||||
let expected_key = self.api_key.clone();
|
||||
|
||||
Box::pin(async move {
|
||||
match req.headers().get("X-API-Key") {
|
||||
Some(header) => {
|
||||
if header == expected_key.as_str() {
|
||||
if header == self.api_key.as_str() {
|
||||
MiddlewareResult::Continue(req)
|
||||
} else {
|
||||
warn!("X-API-Key validation failed for request");
|
||||
// Return a default unauthorized response if Responder fails
|
||||
let response = Responder::unauthorized().unwrap_or_else(|_| {
|
||||
// Fallback to a basic unauthorized response
|
||||
Response::builder()
|
||||
.status(http::StatusCode::UNAUTHORIZED)
|
||||
.body(http_body_util::Full::new(Bytes::from("Unauthorized")))
|
||||
|
||||
Reference in New Issue
Block a user