| //! # ForgeFS | |
| //! | |
| //! A file system abstraction layer that standardizes error handling for file | |
| //! operations. | |
| //! | |
| //! ForgeFS wraps tokio's filesystem operations with consistent error context | |
| //! using anyhow::Context. Each method provides standardized error messages in | |
| //! the format "Failed to [operation] [path]", ensuring uniform error reporting | |
| //! throughout the application while preserving the original error cause. | |
| mod binary_detection; | |
| mod error; | |
| mod file_size; | |
| mod is_binary; | |
| mod meta; | |
| mod read; | |
| mod read_range; | |
| mod write; | |
| pub use crate::binary_detection::is_binary; | |
| pub use crate::error::Error; | |
| /// ForgeFS provides a standardized interface for file system operations | |
| /// with consistent error handling. | |
| pub struct ForgeFS; | |
| impl ForgeFS { | |
| /// Computes a SHA-256 hash of the given string content. | |
| pub(crate) fn compute_hash(content: &str) -> String { | |
| use sha2::{Digest, Sha256}; | |
| let mut hasher = Sha256::new(); | |
| hasher.update(content.as_bytes()); | |
| hex::encode(hasher.finalize()) | |
| } | |
| } | |