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", "pin-project-lite",
"tower-layer", "tower-layer",
"tower-service", "tower-service",
"tracing",
] ]
[[package]] [[package]]

View File

@@ -32,4 +32,4 @@ smallvec = { version = "1.10.0", features = ["serde"] }
smartstring = { version = "1.0.1", features = ["serde"] } smartstring = { version = "1.0.1", features = ["serde"] }
tokio-stream = "0.1.14" tokio-stream = "0.1.14"
tower = "0.4.13" 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::adaptors::throttle::Limits;
use teloxide::types::{BotCommand, UpdateKind}; use teloxide::types::{BotCommand, UpdateKind};
use tokio::time::{sleep, Duration}; use tokio::time::{sleep, Duration};
use tower_http::trace::TraceLayer;
use teloxide::prelude::*; use teloxide::prelude::*;
@@ -262,27 +263,29 @@ impl BotsManager {
StatusCode::OK StatusCode::OK
} }
let stop_token = self.stop_data.0.clone();
let stop_flag = self.stop_data.1.clone(); let stop_flag = self.stop_data.1.clone();
let state = self.state.clone(); let state = self.state.clone();
let port = self.port.clone();
tokio::spawn(async move { tokio::spawn(async move {
log::info!("Start webserver..."); 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() let router = axum::Router::new()
.route("/:token/", post(telegram_request)) .route("/:token/", post(telegram_request))
// .layer(TraceLayer::new_for_http()) .layer(TraceLayer::new_for_http())
.with_state(state); .with_state(state);
axum::Server::bind(&addr) axum::Server::bind(&addr)
.serve(router.into_make_service()) .serve(router.into_make_service())
.with_graceful_shutdown(stop_flag) .with_graceful_shutdown(stop_flag)
.await .await
// .map_err(|err| { .map_err(|err| {
// stop_token.stop(); stop_token.stop();
// err err
// }) })
.expect("Axum server error"); .expect("Axum server error");
log::info!("Webserver shutdown..."); log::info!("Webserver shutdown...");