generated from Patagia/template-nix
Compare commits
1 commit
35ab2b31c5
...
1317c3b721
Author | SHA1 | Date | |
---|---|---|---|
1317c3b721 |
1 changed files with 22 additions and 24 deletions
|
@ -1,12 +1,9 @@
|
|||
use anyhow::{anyhow, Result};
|
||||
use clap::Parser;
|
||||
use dropshot::endpoint;
|
||||
use dropshot::ApiDescription;
|
||||
use dropshot::ConfigDropshot;
|
||||
use dropshot::HttpError;
|
||||
use dropshot::HttpResponseOk;
|
||||
use dropshot::RequestContext;
|
||||
use dropshot::ServerBuilder;
|
||||
use dropshot::{
|
||||
endpoint, ApiDescription, ConfigDropshot, HttpError, HttpResponseOk, RequestContext,
|
||||
ServerBuilder,
|
||||
};
|
||||
use schemars::JsonSchema;
|
||||
use serde::Serialize;
|
||||
use slog::Drain;
|
||||
|
@ -33,7 +30,7 @@ struct VersionInfo {
|
|||
method = GET,
|
||||
path = "/version",
|
||||
}]
|
||||
async fn api_version(rqctx: RequestContext<Arc<()>>) -> Result<HttpResponseOk<VersionInfo>, HttpError> {
|
||||
async fn api_version(_: RequestContext<Arc<()>>) -> Result<HttpResponseOk<VersionInfo>, HttpError> {
|
||||
let ver = VersionInfo {
|
||||
name: env!("CARGO_PKG_NAME").to_string(),
|
||||
version: env!("CARGO_PKG_VERSION").to_string(),
|
||||
|
@ -46,17 +43,6 @@ async fn main() -> Result<()> {
|
|||
let _args = Cli::parse();
|
||||
let fmt_layer = tracing_subscriber::fmt::layer();
|
||||
|
||||
let mut config_dropshot = ConfigDropshot::default();
|
||||
config_dropshot.bind_address = SocketAddr::from_str("0.0.0.0:9474").unwrap();
|
||||
config_dropshot.request_body_max_bytes = 1024 * 1024;
|
||||
|
||||
// Adapt the Dropshot logger to tracing
|
||||
let dropshot_logger = {
|
||||
let level_drain = slog::LevelFilter(TracingSlogDrain, slog::Level::Debug).fuse();
|
||||
let async_drain = slog_async::Async::new(level_drain).build().fuse();
|
||||
slog::Logger::root(async_drain, slog::o!())
|
||||
};
|
||||
|
||||
tracing_subscriber::registry()
|
||||
.with(tracing_subscriber::EnvFilter::from_default_env())
|
||||
.with(fmt_layer)
|
||||
|
@ -67,10 +53,22 @@ async fn main() -> Result<()> {
|
|||
let mut api = ApiDescription::new();
|
||||
api.register(api_version).unwrap();
|
||||
|
||||
let server =ServerBuilder::new(api, Arc::new(()), dropshot_logger)
|
||||
.config(config_dropshot)
|
||||
.start()
|
||||
.map_err(|e| anyhow!("Error starting server: {:?}", e))?;
|
||||
let config = ConfigDropshot {
|
||||
bind_address: SocketAddr::from_str("0.0.0.0:9474").unwrap(),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
server.await.map_err(|e| anyhow!("Error running server: {}", e))
|
||||
// Adapt the Dropshot logger to tracing
|
||||
let logger = {
|
||||
let level_drain = slog::LevelFilter(TracingSlogDrain, slog::Level::Debug).fuse();
|
||||
let async_drain = slog_async::Async::new(level_drain).build().fuse();
|
||||
slog::Logger::root(async_drain, slog::o!())
|
||||
};
|
||||
|
||||
ServerBuilder::new(api, Arc::new(()), logger)
|
||||
.config(config)
|
||||
.start()
|
||||
.map_err(|e| anyhow!("Error starting server: {:?}", e))?
|
||||
.await
|
||||
.map_err(|e| anyhow!(e))
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue