sunbeam-g2v 0.1.0

Sunbeam Service Framework - A ConnectRPC-based framework for building microservices
Documentation
//! Prelude module for convenient wildcard imports.
//!
//! ```rust
//! use sunbeam_g2v::prelude::*;
//! ```

pub use crate::config::{ServiceConfig, DatabaseConfig, NatsConfig, AuthConfig, ObservabilityConfig, LimitsConfig, ElectionConfig, VaultConfig};
pub use crate::error::{ServiceError, ServiceResult};
pub use crate::router::ServiceRouter;
pub use crate::server::{axum::AxumServer, builder::ServerBuilder, ServerConfig};
pub use crate::service::{SunbeamService, ServiceExt};

pub use crate::db::Database;
pub use crate::election::{LeaderElection, LeaderHandle, ElectionError};
pub use crate::testing::TestHarness;

// Re-export connectrpc essentials
pub use connectrpc::{ConnectError, Context, ErrorCode, Router};
pub use buffa::view::{MessageView, OwnedView};

// Re-export common types
pub use std::sync::Arc;
pub use std::time::Duration;
pub use http::{HeaderMap, HeaderName, HeaderValue};
pub use tower::{Service, Layer};

/// Common result type for fallible operations
pub type Result<T, E = ServiceError> = std::result::Result<T, E>;