Ok(if s.len() == 64 {
BlockQuery::Hash(s.parse()?)
} else {
BlockQuery::Height(s.parse()?)
})
}
}
enum SpawnConfig {
Https(AxumAcceptor),
Http,
Redirect(String),
}
#[derive(Deserialize)]
struct Search {
query: String,
}
#[derive(RustEmbed)]
#[folder = "static"]
struct StaticAssets;
struct StaticHtml {
title: &'static str,
html: &'static str,
}
impl PageContent for StaticHtml {
fn title(&self) -> String {
self.title.into()
}
}
impl Display for StaticHtml {
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
f.write_str(self.html)
}
}
#[derive(Debug, Parser)]
pub(crate) struct Server {
#[arg(
long,
default_value = "0.0.0.0",
help = "Listen on <ADDRESS> for incoming requests."
)]
address: String,
#[arg(
long,
help = "Request ACME TLS certificate for <ACME_DOMAIN>. This ord instance must be reachable at <ACME_DOMAIN>:443 to respond to Let's Encrypt ACME challenges."
)]
acme_domain: Vec<String>,
#[arg(
long,
help = "Use <CSP_ORIGIN> in Content-Security-Policy header. Set this to the public-facing URL of your ord instance."