Files
poimen-memory/crates/mem-cli/src/handlers/response_builder.rs
T
rock ce6ddc2b3d
CI / CI (pull_request) Failing after 2m32s
fix: resolve 29 mem-cli compilation errors
- Add missing dependencies: futures-util, async-stream, rand
- Create auth/mod.rs to export AuthProvider, AuthError, Claims
- Add unauthorized() to response_builder for 401 responses
- Fix lifetime specifier in community_metrics::rank_by_metric()
- Create DefaultAgent type alias in agent module
- Export AppState and AuthMode from http_server
- Fix answer_validator import path (crate::query::answer_validator)
- Replace sqlx::query! macros with runtime queries in rebuild_handler
- Add mem-store db_repo to exports (temporarily disabled due to schema mismatches)
- Import visualize_handler, visualize_stream_handler, compact_handler in http_server
- Define LlmCaller trait locally in compaction.rs

Test Status:
-  mem-ingest: 81/81 tests passing
-  mem-cli: compilation in progress (reduced from 29 errors)
2026-09-07 17:15:31 -07:00

61 lines
1.6 KiB
Rust

/// Generic response builder for handlers
///
/// Reduces complexity by centralizing response formatting logic.
use actix_web::HttpResponse;
use serde_json::json;
/// Build a success response (200 OK)
pub fn success_response<T: serde::Serialize>(data: T) -> HttpResponse {
HttpResponse::Ok().json(data)
}
/// Build an error response (400 Bad Request)
pub fn bad_request(error: &str) -> HttpResponse {
HttpResponse::BadRequest().json(json!({ "error": error }))
}
/// Build a not found response (404 Not Found)
pub fn not_found(error: &str) -> HttpResponse {
HttpResponse::NotFound().json(json!({ "error": error }))
}
/// Build an internal server error response (500)
pub fn internal_error(error: &str) -> HttpResponse {
HttpResponse::InternalServerError().json(json!({ "error": error }))
}
/// Build an unauthorized response (401)
pub fn unauthorized(error: &str) -> HttpResponse {
HttpResponse::Unauthorized().json(json!({ "error": error }))
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_success_response_builds() {
let resp = success_response(json!({"status": "ok"}));
assert_eq!(resp.status(), 200);
}
#[test]
fn test_bad_request_response_builds() {
let resp = bad_request("Invalid input");
assert_eq!(resp.status(), 400);
}
#[test]
fn test_not_found_response_builds() {
let resp = not_found("Not found");
assert_eq!(resp.status(), 404);
}
#[test]
fn test_internal_error_response_builds() {
let resp = internal_error("Server error");
assert_eq!(resp.status(), 500);
}
}