Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
ebda78f83e
chore: upgrade to axum 0.8.0 2025-01-26 16:07:34 +01:00
Renovate Bot
7ea50c9d8e chore(deps): update rust crate axum to 0.8.0 2025-01-26 00:03:38 +00:00
3 changed files with 16 additions and 80 deletions

87
Cargo.lock generated
View file

@ -159,7 +159,7 @@ name = "artifactview"
version = "0.4.7" version = "0.4.7"
dependencies = [ dependencies = [
"async_zip", "async_zip",
"axum 0.7.9", "axum",
"axum-extra", "axum-extra",
"axum-test", "axum-test",
"comrak", "comrak",
@ -235,17 +235,6 @@ dependencies = [
"zstd-safe", "zstd-safe",
] ]
[[package]]
name = "async-trait"
version = "0.1.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.87",
]
[[package]] [[package]]
name = "async_zip" name = "async_zip"
version = "0.0.17" version = "0.0.17"
@ -282,13 +271,13 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
[[package]] [[package]]
name = "axum" name = "axum"
version = "0.7.9" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" checksum = "6d6fd624c75e18b3b4c6b9caf42b1afe24437daaee904069137d8bab077be8b8"
dependencies = [ dependencies = [
"async-trait", "axum-core",
"axum-core 0.4.5",
"bytes", "bytes",
"form_urlencoded",
"futures-util", "futures-util",
"http 1.2.0", "http 1.2.0",
"http-body", "http-body",
@ -296,7 +285,7 @@ dependencies = [
"hyper", "hyper",
"hyper-util", "hyper-util",
"itoa", "itoa",
"matchit 0.7.3", "matchit",
"memchr", "memchr",
"mime", "mime",
"percent-encoding", "percent-encoding",
@ -314,54 +303,6 @@ dependencies = [
"tracing", "tracing",
] ]
[[package]]
name = "axum"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d6fd624c75e18b3b4c6b9caf42b1afe24437daaee904069137d8bab077be8b8"
dependencies = [
"axum-core 0.5.0",
"bytes",
"futures-util",
"http 1.2.0",
"http-body",
"http-body-util",
"itoa",
"matchit 0.8.4",
"memchr",
"mime",
"percent-encoding",
"pin-project-lite",
"rustversion",
"serde",
"sync_wrapper",
"tower",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "axum-core"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
dependencies = [
"async-trait",
"bytes",
"futures-util",
"http 1.2.0",
"http-body",
"http-body-util",
"mime",
"pin-project-lite",
"rustversion",
"sync_wrapper",
"tower-layer",
"tower-service",
"tracing",
]
[[package]] [[package]]
name = "axum-core" name = "axum-core"
version = "0.5.0" version = "0.5.0"
@ -388,8 +329,8 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "460fc6f625a1f7705c6cf62d0d070794e94668988b1c38111baeec177c715f7b" checksum = "460fc6f625a1f7705c6cf62d0d070794e94668988b1c38111baeec177c715f7b"
dependencies = [ dependencies = [
"axum 0.8.1", "axum",
"axum-core 0.5.0", "axum-core",
"bytes", "bytes",
"futures-util", "futures-util",
"headers", "headers",
@ -406,14 +347,14 @@ dependencies = [
[[package]] [[package]]
name = "axum-test" name = "axum-test"
version = "16.4.1" version = "17.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63e3a443d2608936a02a222da7b746eb412fede7225b3030b64fe9be99eab8dc" checksum = "375ec4f6db373ce6d696839249203c57049aefe1213cfa77bb2e12e10ed43d08"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"assert-json-diff", "assert-json-diff",
"auto-future", "auto-future",
"axum 0.7.9", "axum",
"bytes", "bytes",
"bytesize", "bytesize",
"cookie", "cookie",
@ -1697,12 +1638,6 @@ dependencies = [
"tendril", "tendril",
] ]
[[package]]
name = "matchit"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
[[package]] [[package]]
name = "matchit" name = "matchit"
version = "0.8.4" version = "0.8.4"

View file

@ -21,7 +21,7 @@ async_zip = { path = "crates/async_zip", features = [
"tokio-fs", "tokio-fs",
"deflate", "deflate",
] } ] }
axum = { version = "0.7.5", default-features = false, features = [ axum = { version = "0.8.0", default-features = false, features = [
"http1", "http1",
"http2", "http2",
"json", "json",
@ -80,7 +80,7 @@ yarte = { version = "0.15.7", features = ["json"] }
yarte_helpers = "0.15.8" yarte_helpers = "0.15.8"
[dev-dependencies] [dev-dependencies]
axum-test = "16.0.0" axum-test = "17.0.0"
flate2 = "1.0.30" flate2 = "1.0.30"
httpdate = "1.0.3" httpdate = "1.0.3"
insta = { version = "1.39.0", features = ["json"] } insta = { version = "1.39.0", features = ["json"] }

View file

@ -11,12 +11,13 @@ use std::{
use async_zip::tokio::read::ZipEntryReader; use async_zip::tokio::read::ZipEntryReader;
use axum::{ use axum::{
body::Body, body::Body,
extract::{Host, Query as XQuery, Request, State}, extract::{Query as XQuery, Request, State},
http::{Response, Uri}, http::{Response, Uri},
response::{IntoResponse, Redirect}, response::{IntoResponse, Redirect},
routing::{any, get, post}, routing::{any, get, post},
Json, RequestExt, Router, Json, RequestExt, Router,
}; };
use axum_extra::extract::Host;
use futures_lite::AsyncReadExt as LiteAsyncReadExt; use futures_lite::AsyncReadExt as LiteAsyncReadExt;
use governor::{Quota, RateLimiter}; use governor::{Quota, RateLimiter};
use headers::{ContentType, HeaderMapExt}; use headers::{ContentType, HeaderMapExt};
@ -175,7 +176,7 @@ impl App {
.route("/.well-known/api/prComment", post(Self::pr_comment)) .route("/.well-known/api/prComment", post(Self::pr_comment))
// Prevent access to the .well-known folder since it enables abuse // Prevent access to the .well-known folder since it enables abuse
// (e.g. SSL certificate registration by an attacker) // (e.g. SSL certificate registration by an attacker)
.route("/.well-known/*path", any(|| async { Error::Inaccessible })) .route("/.well-known/{*path}", any(|| async { Error::Inaccessible }))
// Serve artifact pages // Serve artifact pages
.route("/", get(Self::get_page)) .route("/", get(Self::get_page))
.fallback(get(Self::get_page)) .fallback(get(Self::get_page))