Skip to main content

Crate modo

Crate modo 

Source
Expand description

§modo

A Rust web framework for small monolithic apps.

Single crate, zero proc macros. Handlers are plain async fn, routes use axum’s Router directly, services are wired explicitly in main(), and database queries use raw libsql.

§Quick start

[dependencies]
modo = "0.6"

The db feature is enabled by default. Enable additional modules via feature flags: session, job, auth, templates, sse, email, storage, webhooks, dns, geolocation, qrcode, sentry, apikey, text-embedding, tier.

Or enable everything:

[dependencies]
modo = { version = "0.6", features = ["full"] }

Re-exports§

pub use config::Config;
pub use error::Error;
pub use error::Result;
pub use audit::AuditEntry;
pub use audit::AuditLog;
pub use audit::AuditLogBackend;
pub use audit::AuditRecord;
pub use audit::AuditRepo;
pub use extractor::ClientInfo;
pub use extractor::Service;
pub use flash::Flash;
pub use flash::FlashEntry;
pub use flash::FlashLayer;
pub use health::HealthCheck;
pub use health::HealthChecks;
pub use ip::ClientIp;
pub use ip::ClientIpLayer;
pub use rbac::Role;
pub use rbac::RoleExtractor;
pub use sanitize::Sanitize;
pub use tenant::HasTenantId;
pub use tenant::Tenant;
pub use tenant::TenantId;
pub use tenant::TenantLayer;
pub use tenant::TenantResolver;
pub use tenant::TenantStrategy;
pub use tenant::middleware as tenant_middleware;
pub use validate::Validate;
pub use validate::ValidationError;
pub use validate::Validator;
pub use axum;
pub use serde;
pub use serde_json;
pub use tokio;

Modules§

audit
modo::audit
cache
modo::cache
config
modo::config
cookie
modo::cookie
cron
modo::cron
db
modo::db
encoding
modo::encoding
error
modo::error
extractor
modo::extractor
flash
modo::flash
health
Health check endpoints for liveness and readiness probes.
id
modo::id
ip
modo::ip
middleware
modo::middleware
rbac
modo::rbac
runtime
Graceful shutdown runtime for the modo framework.
sanitize
modo::sanitize
server
HTTP server startup and graceful shutdown.
service
modo::service
tenant
modo::tenant
tracing
modo::tracing
validate
modo::validate

Macros§

run
Waits for a shutdown signal and then shuts down each task in order.