openserve 2.0.3

A modern, high-performance, AI-enhanced file server built in Rust
Documentation
//! Handlers Module
//!
//! This module contains all the HTTP handlers for the application.
//! It is organized into sub-modules for each major feature area.

pub mod ai;
pub mod files;
pub mod health;
pub mod metrics;
pub mod search;
pub mod webdav;

use axum::{
    http::StatusCode,
    response::{IntoResponse, Response},
    Json,
};
use serde_json::json;

/// Creates a standardized error response.
///
/// This function is used by handlers to return a consistent
/// JSON error format.
///
/// # Arguments
///
/// * `status` - The HTTP status code for the error.
/// * `message` - A descriptive error message.
///
/// # Returns
///
/// A `Response` object containing the JSON error payload.
pub fn error_response(status: StatusCode, message: &str) -> Response {
    (status, Json(json!({ "error": message }))).into_response()
}

/// Creates a standardized success response.
///
/// This function is used by handlers to return a consistent
/// JSON success format.
///
/// # Arguments
///
/// * `status` - The HTTP status code for the success response.
/// * `message` - A descriptive success message.
///
/// # Returns
///
/// A `Response` object containing the JSON success payload.
pub fn success_response(status: StatusCode, message: &str) -> Response {
    (status, Json(json!({ "message": message }))).into_response()
}