use crate::*;
#[derive(Data, New)]
pub(crate) struct AppState {
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) html_content: RwLock<String>,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) reload_tx: broadcast::Sender<ReloadEvent>,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) is_building: RwLock<bool>,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) args: ModeArgs,
}
#[derive(Data, New)]
pub(crate) struct HtmlConfig {
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) serving_root: PathBuf,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) import_path: String,
#[get(pub(crate), type(copy))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) is_release: bool,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) custom_index_html: Option<PathBuf>,
}
#[derive(Data, New)]
pub(crate) struct RequestMiddleware;
#[derive(Data, New)]
pub(crate) struct ResponseMiddleware;
#[derive(Data, New)]
pub(crate) struct IndexRoute;
#[derive(Data, New)]
pub(crate) struct ReloadRoute;