use gotcha::prelude::*;
use serde::{Deserialize, Serialize};
#[state]
#[derive(Clone, Default)]
struct AppState {
name: String,
}
#[derive(Clone, Default, Serialize, Deserialize)]
struct AppConfig {}
async fn state_handler(State(state): State<AppState>) -> impl Responder {
state.name
}
async fn config_handler(State(config): State<ConfigWrapper<AppConfig>>) -> impl Responder {
config.server.host.clone()
}
fn main() {
let _app = Gotcha::with_types::<AppState, AppConfig>()
.get("/state", state_handler)
.get("/config", config_handler);
}