chore: add http2 support with connection tracking and optimize middlewares

This commit is contained in:
2026-04-29 23:47:24 +02:00
committed by ForgeCode
parent ccfd200681
commit 9621033530
11 changed files with 425 additions and 450 deletions
+1 -5
View File
@@ -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")))