//! An opinionated framework for small task-based applications. Takes your `fn do_thing(req: Request) -> Response`, and gives you a web interface. //! //! Features: //! - Logs from a task get put in a database and are viewable in the web //! - Ask for input in the middle of a task, and give it over the web interface //! - Minimal boilerplate, still a single-binary deployment. //! //! Non-goals: //! - Hugely customisable UI //! - Authentication / authorization - use reverse proxy auth //! //! See `crates/demo/src/main.rs` for more. pub use wallsocket_core as core; #[cfg(feature = "input")] pub use wallsocket_input as input; #[cfg(feature = "web")] pub use wallsocket_web as web; /// Re-exports of common. pub mod prelude { pub use wallsocket_core::{ Database as WallsocketDatabase, Id as LogsId, LogDestination, LogRetriever, ServiceExt as WallsocketServiceExt, in_memory_database, logs, schema::{CompletedSchema, Schema}, }; #[cfg(feature = "web")] pub use wallsocket_web as web; #[cfg(feature = "input")] pub use wallsocket_input::{Id as InputRequestId, InputRegistry}; pub use tower::{Service, ServiceExt as TowerServiceExt}; pub use tracing::{ debug, debug_span, error, error_span, event, event_enabled, info, info_span, instrument, trace, trace_span, warn, warn_span, }; pub use tracing_futures::Instrument; }