#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("lua error: {0}")]
Lua(#[from] mlua::Error),
#[error("configuration error: {0}")]
Config(String),
#[error("script error: {0}")]
Script(String),
#[error("i/o error: {0}")]
Io(#[from] std::io::Error),
#[error("http error: {0}")]
Http(#[from] hyper::http::Error),
#[error("handler execution timed out")]
Timeout,
}
pub type Result<T = (), E = Error> = std::result::Result<T, E>;