From c77367f3f2e0d125bee2a3b0f020a724fe29c578 Mon Sep 17 00:00:00 2001 From: jonaro00 <54029719+jonaro00@users.noreply.github.com> Date: Mon, 22 Jul 2024 13:05:30 +0200 Subject: [PATCH] fix(gateway): drop tower-sanitize-path --- Cargo.lock | 22 ---------------------- gateway/Cargo.toml | 1 - gateway/src/proxy.rs | 24 +++++++++++------------- 3 files changed, 11 insertions(+), 36 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 415f1b4ac..7c7f8cc90 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5649,7 +5649,6 @@ dependencies = [ "tonic 0.10.2", "tower", "tower-http", - "tower-sanitize-path", "tracing", "tracing-opentelemetry", "tracing-subscriber", @@ -6708,18 +6707,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" -[[package]] -name = "tower-sanitize-path" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8277387194ad48739f3516a54ef4486927ba53b8d889871f3715fb8f99f5aa" -dependencies = [ - "http 0.2.12", - "tower-layer", - "tower-service", - "url-escape", -] - [[package]] name = "tower-service" version = "0.3.2" @@ -7049,15 +7036,6 @@ dependencies = [ "serde", ] -[[package]] -name = "url-escape" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44e0ce4d1246d075ca5abec4b41d33e87a6054d08e2366b63205665e950db218" -dependencies = [ - "percent-encoding", -] - [[package]] name = "urlencoding" version = "2.1.3" diff --git a/gateway/Cargo.toml b/gateway/Cargo.toml index b5888753e..fa7aabef6 100644 --- a/gateway/Cargo.toml +++ b/gateway/Cargo.toml @@ -46,7 +46,6 @@ tokio = { workspace = true, features = ["full"] } tonic = { workspace = true } tower = { workspace = true, features = ["steer"] } tower-http = { workspace = true, features = ["cors"] } -tower-sanitize-path = "0.2.0" tracing = { workspace = true, features = ["default"] } tracing-opentelemetry = { workspace = true } tracing-subscriber = { workspace = true, features = ["default", "env-filter"] } diff --git a/gateway/src/proxy.rs b/gateway/src/proxy.rs index 1a4463be6..62455094c 100644 --- a/gateway/src/proxy.rs +++ b/gateway/src/proxy.rs @@ -32,7 +32,6 @@ use shuttle_common::models::error::{ use thiserror::Error; use tokio::net::TcpSocket; use tokio::sync::mpsc::Sender; -use tower_sanitize_path::SanitizePath; use tracing::{debug, debug_span, error, field, trace, Instrument}; use tracing_opentelemetry::OpenTelemetrySpanExt; @@ -294,18 +293,17 @@ impl UserServiceBuilder { .user_binds_to .expect("a socket address to bind to is required"); - let san = SanitizePath::sanitize_paths( - axum::Router::new() - .fallback(proxy) // catch all routes - .with_state(Arc::new(ProxyState { - gateway: service.clone(), - task_sender, - public: public.clone(), - project_cache: CacheManager::new(1024), - domain_cache: CacheManager::new(256), - })), - ); - let user_proxy = axum::ServiceExt::into_make_service_with_connect_info::(san); + let router = axum::Router::new() + .fallback(proxy) // catch all routes + .with_state(Arc::new(ProxyState { + gateway: service.clone(), + task_sender, + public: public.clone(), + project_cache: CacheManager::new(1024), + domain_cache: CacheManager::new(256), + })); + let user_proxy = + axum::ServiceExt::into_make_service_with_connect_info::(router); let bouncer = self.bouncer_binds_to.as_ref().map(|_| { axum::Router::new()