mirror of
https://github.com/flibusta-apps/users_settings_server.git
synced 2025-12-06 06:35:39 +01:00
Fix
This commit is contained in:
138
Cargo.lock
generated
138
Cargo.lock
generated
@@ -190,6 +190,29 @@ dependencies = [
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "axum-prometheus"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1ab3e59a8cf89cddb1c8272c7849d6d22b056d7ed4c125422b5d012983d2aa9e"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"axum-core",
|
||||
"bytes",
|
||||
"futures",
|
||||
"futures-core",
|
||||
"http",
|
||||
"http-body",
|
||||
"matchit",
|
||||
"metrics 0.21.1",
|
||||
"metrics-exporter-prometheus 0.12.1",
|
||||
"once_cell",
|
||||
"pin-project",
|
||||
"tokio",
|
||||
"tower",
|
||||
"tower-http",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.68"
|
||||
@@ -344,7 +367,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b"
|
||||
dependencies = [
|
||||
"borsh-derive",
|
||||
"hashbrown 0.13.2",
|
||||
"hashbrown 0.12.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1385,9 +1408,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.13.2"
|
||||
version = "0.13.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
|
||||
checksum = "33ff8ae62cd3a9102e5637afc8452c55acf3844001bd5374e0b0bd7b6616c038"
|
||||
dependencies = [
|
||||
"ahash 0.8.3",
|
||||
]
|
||||
@@ -1917,6 +1940,15 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mach2"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "match_cfg"
|
||||
version = "0.1.0"
|
||||
@@ -1981,7 +2013,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2e52eb6380b6d2a10eb3434aec0885374490f5b82c8aaf5cd487a183c98be834"
|
||||
dependencies = [
|
||||
"ahash 0.7.6",
|
||||
"metrics-macros",
|
||||
"metrics-macros 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1991,7 +2023,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "142c53885123b68d94108295a09d4afe1a1388ed95b54d5dacd9a454753030f2"
|
||||
dependencies = [
|
||||
"ahash 0.7.6",
|
||||
"metrics-macros",
|
||||
"metrics-macros 0.5.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "metrics"
|
||||
version = "0.21.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fde3af1a009ed76a778cb84fdef9e7dbbdf5775ae3e4cc1f434a6a307f6f76c5"
|
||||
dependencies = [
|
||||
"ahash 0.8.3",
|
||||
"metrics-macros 0.7.0",
|
||||
"portable-atomic",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2006,7 +2049,25 @@ dependencies = [
|
||||
"metrics 0.19.0",
|
||||
"metrics-util 0.13.0",
|
||||
"parking_lot 0.11.2",
|
||||
"quanta",
|
||||
"quanta 0.9.3",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "metrics-exporter-prometheus"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a4964177ddfdab1e3a2b37aec7cf320e14169abb0ed73999f558136409178d5"
|
||||
dependencies = [
|
||||
"base64 0.21.2",
|
||||
"hyper",
|
||||
"indexmap 1.9.3",
|
||||
"ipnet",
|
||||
"metrics 0.21.1",
|
||||
"metrics-util 0.15.1",
|
||||
"quanta 0.11.1",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
@@ -2023,6 +2084,17 @@ dependencies = [
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "metrics-macros"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.27",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "metrics-util"
|
||||
version = "0.12.1"
|
||||
@@ -2039,9 +2111,9 @@ dependencies = [
|
||||
"num_cpus",
|
||||
"ordered-float",
|
||||
"parking_lot 0.11.2",
|
||||
"quanta",
|
||||
"quanta 0.9.3",
|
||||
"radix_trie",
|
||||
"sketches-ddsketch",
|
||||
"sketches-ddsketch 0.1.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2057,8 +2129,23 @@ dependencies = [
|
||||
"metrics 0.19.0",
|
||||
"num_cpus",
|
||||
"parking_lot 0.11.2",
|
||||
"quanta",
|
||||
"sketches-ddsketch",
|
||||
"quanta 0.9.3",
|
||||
"sketches-ddsketch 0.1.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "metrics-util"
|
||||
version = "0.15.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4de2ed6e491ed114b40b732e4d1659a9d53992ebd87490c44a6ffe23739d973e"
|
||||
dependencies = [
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
"hashbrown 0.13.1",
|
||||
"metrics 0.21.1",
|
||||
"num_cpus",
|
||||
"quanta 0.11.1",
|
||||
"sketches-ddsketch 0.2.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2842,6 +2929,12 @@ version = "0.3.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
|
||||
|
||||
[[package]]
|
||||
name = "portable-atomic"
|
||||
version = "1.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "edc55135a600d700580e406b4de0d59cb9ad25e344a3a091a97ded2622ec4ec6"
|
||||
|
||||
[[package]]
|
||||
name = "postgres-native-tls"
|
||||
version = "0.5.0"
|
||||
@@ -3163,6 +3256,22 @@ dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quanta"
|
||||
version = "0.11.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab"
|
||||
dependencies = [
|
||||
"crossbeam-utils",
|
||||
"libc",
|
||||
"mach2",
|
||||
"once_cell",
|
||||
"raw-cpuid",
|
||||
"wasi 0.11.0+wasi-snapshot-preview1",
|
||||
"web-sys",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "query-connector"
|
||||
version = "0.1.0"
|
||||
@@ -3235,7 +3344,7 @@ version = "0.1.0"
|
||||
source = "git+https://github.com/Brendonovich/prisma-engines?tag=pcr-0.6.5#7cc20cc54a7ab0b5e38c81901826939a91a17ba0"
|
||||
dependencies = [
|
||||
"metrics 0.18.1",
|
||||
"metrics-exporter-prometheus",
|
||||
"metrics-exporter-prometheus 0.10.0",
|
||||
"metrics-util 0.12.1",
|
||||
"once_cell",
|
||||
"parking_lot 0.12.1",
|
||||
@@ -4118,6 +4227,12 @@ version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "04d2ecae5fcf33b122e2e6bd520a57ccf152d2dde3b38c71039df1a6867264ee"
|
||||
|
||||
[[package]]
|
||||
name = "sketches-ddsketch"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "68a406c1882ed7f29cd5e248c9848a80e7cb6ae0fea82346d2746f2f941c07e1"
|
||||
|
||||
[[package]]
|
||||
name = "slab"
|
||||
version = "0.4.8"
|
||||
@@ -4969,6 +5084,7 @@ name = "users_settings_server"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"axum",
|
||||
"axum-prometheus",
|
||||
"chrono",
|
||||
"once_cell",
|
||||
"prisma-client-rust",
|
||||
|
||||
@@ -19,6 +19,7 @@ serde = { version = "1.0.163", features = ["derive"] }
|
||||
|
||||
tokio = { version = "1.28.2", features = ["full"] }
|
||||
axum = { version = "0.6.18", features = ["json"] }
|
||||
axum-prometheus = "0.3.4"
|
||||
chrono = "0.4.26"
|
||||
sentry = "0.31.5"
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
use axum::{Router, response::Response, http::{StatusCode, self, Request}, middleware::{Next, self}, Extension};
|
||||
use axum::{Router, response::Response, http::{StatusCode, self, Request}, middleware::{Next, self}, Extension, routing::get};
|
||||
use axum_prometheus::PrometheusMetricLayer;
|
||||
use tower_http::trace::{TraceLayer, self};
|
||||
use tracing::Level;
|
||||
use std::sync::Arc;
|
||||
@@ -36,11 +37,22 @@ async fn auth<B>(req: Request<B>, next: Next<B>) -> Result<Response, StatusCode>
|
||||
pub async fn get_router() -> Router {
|
||||
let client = Arc::new(get_prisma_client().await);
|
||||
|
||||
Router::new()
|
||||
let (prometheus_layer, metric_handle) = PrometheusMetricLayer::pair();
|
||||
|
||||
let app_router = Router::new()
|
||||
.nest("/users/", users::get_router())
|
||||
.nest("/languages/", languages::get_router())
|
||||
.nest("/donate_notifications/", donate_notifications::get_router())
|
||||
.layer(middleware::from_fn(auth))
|
||||
.layer(Extension(client))
|
||||
.layer(prometheus_layer);
|
||||
|
||||
let metric_router = Router::new()
|
||||
.route("/metrics", get(|| async move { metric_handle.render() }));
|
||||
|
||||
Router::new()
|
||||
.nest("/", app_router)
|
||||
.nest("/", metric_router)
|
||||
.layer(
|
||||
TraceLayer::new_for_http()
|
||||
.make_span_with(trace::DefaultMakeSpan::new()
|
||||
@@ -48,5 +60,4 @@ pub async fn get_router() -> Router {
|
||||
.on_response(trace::DefaultOnResponse::new()
|
||||
.level(Level::INFO)),
|
||||
)
|
||||
.layer(Extension(client))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user