优化router初始化

This commit is contained in:
李运家 2024-09-29 19:30:48 +08:00
parent 468bf8578f
commit 2bcc0b1018
4 changed files with 20 additions and 27 deletions

20
Cargo.lock generated
View File

@ -137,7 +137,7 @@ dependencies = [
"serde_urlencoded", "serde_urlencoded",
"sync_wrapper 1.0.1", "sync_wrapper 1.0.1",
"tokio", "tokio",
"tower 0.4.13", "tower",
"tower-layer", "tower-layer",
"tower-service", "tower-service",
"tracing", "tracing",
@ -180,7 +180,7 @@ dependencies = [
"mime", "mime",
"pin-project-lite", "pin-project-lite",
"serde", "serde",
"tower 0.4.13", "tower",
"tower-layer", "tower-layer",
"tower-service", "tower-service",
"tracing", "tracing",
@ -988,7 +988,7 @@ dependencies = [
"pin-project-lite", "pin-project-lite",
"socket2", "socket2",
"tokio", "tokio",
"tower 0.4.13", "tower",
"tower-service", "tower-service",
"tracing", "tracing",
] ]
@ -1149,7 +1149,7 @@ dependencies = [
"tokio", "tokio",
"tokio-cron-scheduler", "tokio-cron-scheduler",
"toml", "toml",
"tower 0.5.1", "tower",
"tower-http", "tower-http",
"tracing", "tracing",
"tracing-appender", "tracing-appender",
@ -2058,7 +2058,7 @@ dependencies = [
"sqlx", "sqlx",
"tokio", "tokio",
"tokio-cron-scheduler", "tokio-cron-scheduler",
"tower 0.5.1", "tower",
"tower-http", "tower-http",
"tracing", "tracing",
"validator", "validator",
@ -2720,16 +2720,6 @@ dependencies = [
"tracing", "tracing",
] ]
[[package]]
name = "tower"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f"
dependencies = [
"tower-layer",
"tower-service",
]
[[package]] [[package]]
name = "tower-http" name = "tower-http"
version = "0.5.2" version = "0.5.2"

View File

@ -53,7 +53,7 @@ proc-macro2 = "1.0.86"
syn = "2.0.77" syn = "2.0.77"
quote = "1.0.37" quote = "1.0.37"
hyper = "1.4.1" hyper = "1.4.1"
tower = "0.5.1" tower = "0.4.13"
csv = "1.3.0" csv = "1.3.0"
strum = "0.26.3" strum = "0.26.3"
strum_macros = "0.26.3" strum_macros = "0.26.3"

View File

@ -22,7 +22,4 @@ pub fn init() -> Router {
post(feedback_controller::add_feedback) post(feedback_controller::add_feedback)
.get(feedback_controller::get_feedback_list_by_page), .get(feedback_controller::get_feedback_list_by_page),
) )
.layer(axum::middleware::from_fn(
library::middleware::req_ctx::authenticate_ctx,
))
} }

View File

@ -1,6 +1,7 @@
use axum::{body::Body, extract::Request, routing::get, Router}; use axum::{body::Body, extract::Request, routing::get, Router};
use library::{config, task}; use library::{config, task};
use tasks::get_tasks; use tasks::get_tasks;
use tower::ServiceBuilder;
use tower_http::trace::TraceLayer; use tower_http::trace::TraceLayer;
mod controller; mod controller;
@ -38,12 +39,17 @@ fn init() -> Router {
Router::new() Router::new()
.route("/", get(|| async { "hello" })) .route("/", get(|| async { "hello" }))
.nest("/gm/v1", auth) .nest("/gm/v1", auth)
.layer(axum::middleware::from_fn( .layer(
library::middleware::req_log::handle, ServiceBuilder::new()
)) .layer(axum::middleware::from_fn(
.layer(axum::middleware::from_fn(library::middleware::cors::handle)) library::middleware::req_ctx::authenticate_ctx,
.layer(trace_layer) ))
.layer(axum::middleware::from_fn( .layer(axum::middleware::from_fn(
library::middleware::req_id::handle, library::middleware::req_log::handle,
)) ))
.layer(axum::middleware::from_fn(library::middleware::cors::handle))
.layer(axum::middleware::from_fn(
library::middleware::req_id::handle,
))
)
} }