pub cert: Option<String>,
#[serde(default)]
pub key: Option<String>,
+ #[serde(default)]
+ pub cache: bool,
}
impl Default for ServerConfig {
fn default() -> Self {
- Self { bind: default_bind_addr(), site: default_site_path(), cert: None, key: None }
+ Self { bind: default_bind_addr(), site: default_site_path(), cert: None, key: None, cache: false }
}
}
let server: Pin<Box<dyn Future<Output = Result<(), std::io::Error>>>> = if run_server {
let mut app = tide::with_state(server);
- app.at("/").with(After(append_cache_control)).serve_dir(&config.server.site)?;
+ if config.server.cache {
+ app.at("/").with(After(append_cache_control)).serve_dir(&config.server.site)?;
+ } else {
+ app.at("/").serve_dir(&config.server.site)?;
+ }
app.at("/").with(After(append_cache_control)).serve_file(config.server.site.join("index.html"))?;
app.at("/api").get(WebSocket::new(new_client));
app.with(After(serve_404));