style: apply rustfmt to backend codebase
- Apply rustfmt to all Rust source files in backend/ - Fix trailing whitespace inconsistencies - Standardize formatting across handlers, models, and services - Improve code readability with consistent formatting These changes are purely stylistic and do not affect functionality. All CI checks now pass with proper formatting.
This commit is contained in:
parent
6b7e4d4016
commit
ee0feb77ef
41 changed files with 1266 additions and 819 deletions
|
|
@ -1,11 +1,11 @@
|
|||
use crate::auth::jwt::Claims;
|
||||
use crate::config::AppState;
|
||||
use axum::{
|
||||
extract::{Request, State},
|
||||
http::StatusCode,
|
||||
middleware::Next,
|
||||
response::Response,
|
||||
};
|
||||
use crate::auth::jwt::Claims;
|
||||
use crate::config::AppState;
|
||||
|
||||
pub async fn jwt_auth_middleware(
|
||||
State(state): State<AppState>,
|
||||
|
|
@ -13,29 +13,29 @@ pub async fn jwt_auth_middleware(
|
|||
next: Next,
|
||||
) -> Result<Response, StatusCode> {
|
||||
let headers = req.headers();
|
||||
|
||||
|
||||
// Extract Authorization header
|
||||
let auth_header = headers
|
||||
.get("Authorization")
|
||||
.and_then(|h| h.to_str().ok())
|
||||
.ok_or(StatusCode::UNAUTHORIZED)?;
|
||||
|
||||
|
||||
// Check Bearer token format
|
||||
if !auth_header.starts_with("Bearer ") {
|
||||
return Err(StatusCode::UNAUTHORIZED);
|
||||
}
|
||||
|
||||
|
||||
let token = &auth_header[7..]; // Remove "Bearer " prefix
|
||||
|
||||
|
||||
// Verify token
|
||||
let claims = state
|
||||
.jwt_service
|
||||
.validate_token(token)
|
||||
.map_err(|_| StatusCode::UNAUTHORIZED)?;
|
||||
|
||||
|
||||
// Add claims to request extensions for handlers to use
|
||||
req.extensions_mut().insert(claims);
|
||||
|
||||
|
||||
Ok(next.run(req).await)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
pub mod auth;
|
||||
pub mod rate_limit;
|
||||
|
||||
pub use rate_limit::general_rate_limit_middleware;
|
||||
pub use auth::jwt_auth_middleware;
|
||||
pub use rate_limit::general_rate_limit_middleware;
|
||||
|
||||
// Simple security headers middleware
|
||||
pub async fn security_headers_middleware(
|
||||
|
|
@ -10,13 +10,19 @@ pub async fn security_headers_middleware(
|
|||
next: axum::middleware::Next,
|
||||
) -> axum::response::Response {
|
||||
let mut response = next.run(req).await;
|
||||
|
||||
|
||||
let headers = response.headers_mut();
|
||||
headers.insert("X-Content-Type-Options", "nosniff".parse().unwrap());
|
||||
headers.insert("X-Frame-Options", "DENY".parse().unwrap());
|
||||
headers.insert("X-XSS-Protection", "1; mode=block".parse().unwrap());
|
||||
headers.insert("Strict-Transport-Security", "max-age=31536000; includeSubDomains".parse().unwrap());
|
||||
headers.insert("Content-Security-Policy", "default-src 'self'".parse().unwrap());
|
||||
|
||||
headers.insert(
|
||||
"Strict-Transport-Security",
|
||||
"max-age=31536000; includeSubDomains".parse().unwrap(),
|
||||
);
|
||||
headers.insert(
|
||||
"Content-Security-Policy",
|
||||
"default-src 'self'".parse().unwrap(),
|
||||
);
|
||||
|
||||
response
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,4 @@
|
|||
use axum::{
|
||||
extract::Request,
|
||||
http::StatusCode,
|
||||
middleware::Next,
|
||||
response::Response,
|
||||
};
|
||||
use axum::{extract::Request, http::StatusCode, middleware::Next, response::Response};
|
||||
|
||||
/// Middleware for general rate limiting
|
||||
/// NOTE: Currently a stub implementation. TODO: Implement IP-based rate limiting
|
||||
|
|
@ -18,10 +13,7 @@ pub async fn general_rate_limit_middleware(
|
|||
|
||||
/// Middleware for auth endpoint rate limiting
|
||||
/// NOTE: Currently a stub implementation. TODO: Implement IP-based rate limiting
|
||||
pub async fn auth_rate_limit_middleware(
|
||||
req: Request,
|
||||
next: Next,
|
||||
) -> Result<Response, StatusCode> {
|
||||
pub async fn auth_rate_limit_middleware(req: Request, next: Next) -> Result<Response, StatusCode> {
|
||||
// TODO: Implement proper rate limiting with IP-based tracking
|
||||
// For now, just pass through
|
||||
Ok(next.run(req).await)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue