This commit is contained in:
2023-07-21 01:23:21 +02:00
parent 507ad1f91f
commit 5d0d8b8b1c
3 changed files with 11 additions and 7 deletions

1
Cargo.lock generated
View File

@@ -2261,6 +2261,7 @@ dependencies = [
"pin-project-lite",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]

View File

@@ -32,4 +32,4 @@ smallvec = { version = "1.10.0", features = ["serde"] }
smartstring = { version = "1.0.1", features = ["serde"] }
tokio-stream = "0.1.14"
tower = "0.4.13"
tower-http = "0.4.3"
tower-http = { version = "0.4.3", features = ["trace"] }

View File

@@ -21,6 +21,7 @@ use smallvec::SmallVec;
use teloxide::adaptors::throttle::Limits;
use teloxide::types::{BotCommand, UpdateKind};
use tokio::time::{sleep, Duration};
use tower_http::trace::TraceLayer;
use teloxide::prelude::*;
@@ -262,27 +263,29 @@ impl BotsManager {
StatusCode::OK
}
let stop_token = self.stop_data.0.clone();
let stop_flag = self.stop_data.1.clone();
let state = self.state.clone();
let port = self.port.clone();
tokio::spawn(async move {
log::info!("Start webserver...");
let addr = SocketAddr::from(([0, 0, 0, 0], 8000));
let addr = SocketAddr::from(([0, 0, 0, 0], port));
let router = axum::Router::new()
.route("/:token/", post(telegram_request))
// .layer(TraceLayer::new_for_http())
.layer(TraceLayer::new_for_http())
.with_state(state);
axum::Server::bind(&addr)
.serve(router.into_make_service())
.with_graceful_shutdown(stop_flag)
.await
// .map_err(|err| {
// stop_token.stop();
// err
// })
.map_err(|err| {
stop_token.stop();
err
})
.expect("Axum server error");
log::info!("Webserver shutdown...");