pinakes-server: eliminate unwraps from response builders

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6d80e505963dfa4d117f6b33d69fc1516a6a6964
This commit is contained in:
raf 2026-03-07 16:55:43 +03:00
commit 1fe2c7998d
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
3 changed files with 67 additions and 64 deletions

View file

@ -33,35 +33,35 @@ pub fn create_router_with_tls(
.per_second(1)
.burst_size(100)
.finish()
.unwrap(),
.expect("valid global rate limit config"),
);
// Strict rate limit for login: 5 requests/min per IP
let login_governor = Arc::new(
GovernorConfigBuilder::default()
.per_second(12) // replenish one every 12 seconds
.burst_size(5)
.finish()
.unwrap(),
.per_second(12) // replenish one every 12 seconds
.burst_size(5)
.finish()
.expect("valid login rate limit config"),
);
// Rate limit for search: 10 requests/min per IP
let search_governor = Arc::new(
GovernorConfigBuilder::default()
.per_second(6) // replenish one every 6 seconds (10/min)
.burst_size(10)
.finish()
.unwrap(),
.per_second(6) // replenish one every 6 seconds (10/min)
.burst_size(10)
.finish()
.expect("valid search rate limit config"),
);
// Rate limit for streaming: 5 requests per IP (very restrictive for
// concurrent streams)
let stream_governor = Arc::new(
GovernorConfigBuilder::default()
.per_second(60) // replenish slowly (one per minute)
.burst_size(5) // max 5 concurrent connections
.finish()
.unwrap(),
.per_second(60) // replenish slowly (one per minute)
.burst_size(5) // max 5 concurrent connections
.finish()
.expect("valid stream rate limit config"),
);
// Login route with strict rate limiting
@ -501,9 +501,9 @@ pub fn create_router_with_tls(
// CORS: allow same-origin by default, plus the desktop UI origin
let cors = CorsLayer::new()
.allow_origin([
"http://localhost:3000".parse::<HeaderValue>().unwrap(),
"http://127.0.0.1:3000".parse::<HeaderValue>().unwrap(),
"tauri://localhost".parse::<HeaderValue>().unwrap(),
HeaderValue::from_static("http://localhost:3000"),
HeaderValue::from_static("http://127.0.0.1:3000"),
HeaderValue::from_static("tauri://localhost"),
])
.allow_methods([
Method::GET,