diff --git a/Cargo.lock b/Cargo.lock index 49ee474..ae4c579 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -627,6 +627,16 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "hdrhistogram" +version = "7.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" +dependencies = [ + "byteorder", + "num-traits", +] + [[package]] name = "heck" version = "0.5.0" @@ -766,6 +776,7 @@ dependencies = [ "time", "tokio", "tower", + "tower-http", "tracing-subscriber", "url", "utoipa", @@ -2152,6 +2163,19 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-util" +version = "0.7.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "tower" version = "0.5.2" @@ -2160,14 +2184,32 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "hdrhistogram", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", + "tokio-util", "tower-layer", "tower-service", "tracing", ] +[[package]] +name = "tower-http" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +dependencies = [ + "bitflags", + "bytes", + "http", + "pin-project-lite", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" version = "0.3.3" diff --git a/Cargo.toml b/Cargo.toml index 55f191c..dfe990e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,8 @@ serde = { version = "1.0.219", features = ["derive"] } serde_json = { version = "1.0.140" } tokio = { version = "1.45.1", features = ["rt-multi-thread"] } tracing-subscriber = { version = "0.3.19" } -tower = { version = "0.5.2" } +tower = { version = "0.5.2", features = ["full"] } +tower-http = { version = "0.6.6", features = ["cors"] } hyper = { version = "1.6.0" } sqlx = { version = "0.8.6", features = ["postgres", "runtime-tokio-native-tls", "time", "uuid"] } uuid = { version = "1.17.0", features = ["v4", "serde"] }