From 7447a411f0dc4c9eff4cfaf28c1171ca1b4be707 Mon Sep 17 00:00:00 2001 From: Melody Horn / boringcactus Date: Sun, 13 Jun 2021 10:42:17 -0600 Subject: add structure for settings --- examples/tutorial01/main.rs | 11 ++++++++--- src/lib.rs | 17 ++++++++++++++++- src/settings.rs | 10 ++++++++++ 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 src/settings.rs diff --git a/examples/tutorial01/main.rs b/examples/tutorial01/main.rs index 62c32cd..4db9897 100644 --- a/examples/tutorial01/main.rs +++ b/examples/tutorial01/main.rs @@ -1,16 +1,21 @@ +use tosin::Settings; use tosin::contrib::admin; use tosin::http::Filter; use tosin::urls::{UrlMap, path}; mod polls; -pub fn urls() -> UrlMap { +fn urls() -> UrlMap { path!("polls" / ..).and(polls::urls::urls()) .or(path!("admin" / ..).and(admin::site::urls::urls())) .unify() .boxed() } -fn main() { - tosin::run_server(urls()); +fn settings() -> Settings { + Settings { + ..Settings::default() + } } + +tosin::main!(urls(), settings()); diff --git a/src/lib.rs b/src/lib.rs index b9cf73d..112ed57 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,21 @@ pub mod contrib; pub mod http; pub mod server; +pub mod settings; pub mod urls; -pub use server::run_server; +pub use settings::Settings; +pub use urls::UrlMap; + +pub fn main(urls: UrlMap, settings: Settings) { + todo!() +} + +#[macro_export] +macro_rules! main { + ($urls:expr, $settings:expr) => { + fn main() { + tosin::main($urls, $settings); + } + }; +} diff --git a/src/settings.rs b/src/settings.rs new file mode 100644 index 0000000..9d29cfe --- /dev/null +++ b/src/settings.rs @@ -0,0 +1,10 @@ +pub struct Settings { +} + +impl Default for Settings { + fn default() -> Self { + Self { + + } + } +} -- cgit v1.2.3