build(deps): bump axum from 0.7.9 to 0.8.8 (#6)
* build(deps): bump axum from 0.7.9 to 0.8.8 Bumps [axum](https://github.com/tokio-rs/axum) from 0.7.9 to 0.8.8. - [Release notes](https://github.com/tokio-rs/axum/releases) - [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/axum/compare/axum-v0.7.9...axum-v0.8.8) --- updated-dependencies: - dependency-name: axum dependency-version: 0.8.8 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * fix(deps): adapt code for axum 0.8 and tower-cookies 0.11 - Bump tower-cookies 0.10 → 0.11 (requires axum-core 0.5 / axum 0.8) - Remove axum::async_trait usage (axum 0.8 uses native async traits) - Migrate route path params from :param to {param} syntax * fix(deps): correct axum and tower version constraints Dependabot updated the lockfile for axum 0.8 but left the Cargo.toml constraint at "0.7", causing CI to resolve back to 0.7.9. It also incorrectly downgraded tower from "0.5" to "0.4", creating a duplicate tower version in the lockfile and trait mismatches with axum 0.8. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jon Seager <jon@sgrs.uk>
This commit is contained in:
parent
2fff8e8124
commit
c0d6e588f6
6 changed files with 29 additions and 37 deletions
38
Cargo.lock
generated
38
Cargo.lock
generated
|
|
@ -270,14 +270,14 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axum"
|
name = "axum"
|
||||||
version = "0.7.9"
|
version = "0.8.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"
|
checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
|
||||||
"axum-core",
|
"axum-core",
|
||||||
"axum-macros",
|
"axum-macros",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
"form_urlencoded",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
|
|
@ -290,8 +290,7 @@ dependencies = [
|
||||||
"mime",
|
"mime",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"rustversion",
|
"serde_core",
|
||||||
"serde",
|
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"serde_path_to_error",
|
"serde_path_to_error",
|
||||||
"serde_urlencoded",
|
"serde_urlencoded",
|
||||||
|
|
@ -305,19 +304,17 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axum-core"
|
name = "axum-core"
|
||||||
version = "0.4.5"
|
version = "0.5.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199"
|
checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
|
||||||
"bytes",
|
"bytes",
|
||||||
"futures-util",
|
"futures-core",
|
||||||
"http",
|
"http",
|
||||||
"http-body",
|
"http-body",
|
||||||
"http-body-util",
|
"http-body-util",
|
||||||
"mime",
|
"mime",
|
||||||
"pin-project-lite",
|
"pin-project-lite",
|
||||||
"rustversion",
|
|
||||||
"sync_wrapper",
|
"sync_wrapper",
|
||||||
"tower-layer",
|
"tower-layer",
|
||||||
"tower-service",
|
"tower-service",
|
||||||
|
|
@ -326,9 +323,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "axum-macros"
|
name = "axum-macros"
|
||||||
version = "0.4.2"
|
version = "0.5.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "57d123550fa8d071b7255cb0cc04dc302baa6c8c4a79f55701552684d8399bce"
|
checksum = "604fde5e028fea851ce1d8570bbdc034bec850d157f7569d10f347d06808c05c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|
@ -783,7 +780,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc",
|
"libc",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -1516,9 +1513,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "matchit"
|
name = "matchit"
|
||||||
version = "0.7.3"
|
version = "0.8.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
|
checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "md-5"
|
name = "md-5"
|
||||||
|
|
@ -1946,7 +1943,7 @@ dependencies = [
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"socket2",
|
"socket2",
|
||||||
"tracing",
|
"tracing",
|
||||||
"windows-sys 0.60.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -2171,7 +2168,7 @@ dependencies = [
|
||||||
"errno",
|
"errno",
|
||||||
"libc",
|
"libc",
|
||||||
"linux-raw-sys",
|
"linux-raw-sys",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -2759,7 +2756,7 @@ dependencies = [
|
||||||
"getrandom 0.3.4",
|
"getrandom 0.3.4",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"rustix",
|
"rustix",
|
||||||
"windows-sys 0.61.2",
|
"windows-sys 0.52.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|
@ -2947,11 +2944,10 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tower-cookies"
|
name = "tower-cookies"
|
||||||
version = "0.10.0"
|
version = "0.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "4fd0118512cf0b3768f7fcccf0bef1ae41d68f2b45edc1e77432b36c97c56c6d"
|
checksum = "151b5a3e3c45df17466454bb74e9ecedecc955269bdedbf4d150dfa393b55a36"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
|
||||||
"axum-core",
|
"axum-core",
|
||||||
"cookie",
|
"cookie",
|
||||||
"futures-util",
|
"futures-util",
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ edition = "2024"
|
||||||
[dependencies]
|
[dependencies]
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
async-trait = "0.1"
|
async-trait = "0.1"
|
||||||
axum = { version = "0.7", features = ["macros"] }
|
axum = { version = "0.8", features = ["macros"] }
|
||||||
askama = "0.15"
|
askama = "0.15"
|
||||||
base64 = "0.22"
|
base64 = "0.22"
|
||||||
chrono = { version = "0.4", features = ["serde", "clock"] }
|
chrono = { version = "0.4", features = ["serde", "clock"] }
|
||||||
|
|
@ -32,7 +32,7 @@ tokio = { version = "1.38", features = ["rt-multi-thread", "macros", "signal"] }
|
||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt"] }
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt"] }
|
||||||
tower = "0.5"
|
tower = "0.5"
|
||||||
tower-cookies = "0.10"
|
tower-cookies = "0.11"
|
||||||
tower-http = { version = "0.6", features = ["compression-gzip", "limit", "set-header", "trace"] }
|
tower-http = { version = "0.6", features = ["compression-gzip", "limit", "set-header", "trace"] }
|
||||||
slug = "0.1.6"
|
slug = "0.1.6"
|
||||||
url = "2"
|
url = "2"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
use axum::{
|
use axum::{
|
||||||
async_trait,
|
|
||||||
extract::{FromRequestParts, Request},
|
extract::{FromRequestParts, Request},
|
||||||
http::{StatusCode, header, request::Parts},
|
http::{StatusCode, header, request::Parts},
|
||||||
};
|
};
|
||||||
|
|
@ -16,7 +15,6 @@ const SESSION_COOKIE_NAME: &str = "brewlog_session";
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
pub struct AuthenticatedUser(pub User);
|
pub struct AuthenticatedUser(pub User);
|
||||||
|
|
||||||
#[async_trait]
|
|
||||||
impl FromRequestParts<AppState> for AuthenticatedUser {
|
impl FromRequestParts<AppState> for AuthenticatedUser {
|
||||||
type Rejection = StatusCode;
|
type Rejection = StatusCode;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ pub(super) fn router() -> axum::Router<AppState> {
|
||||||
get(roasters::list_roasters).post(roasters::create_roaster),
|
get(roasters::list_roasters).post(roasters::create_roaster),
|
||||||
)
|
)
|
||||||
.route(
|
.route(
|
||||||
"/roasters/:id",
|
"/roasters/{id}",
|
||||||
get(roasters::get_roaster)
|
get(roasters::get_roaster)
|
||||||
.put(roasters::update_roaster)
|
.put(roasters::update_roaster)
|
||||||
.delete(roasters::delete_roaster),
|
.delete(roasters::delete_roaster),
|
||||||
|
|
@ -36,33 +36,33 @@ pub(super) fn router() -> axum::Router<AppState> {
|
||||||
get(roasts::list_roasts).post(roasts::create_roast),
|
get(roasts::list_roasts).post(roasts::create_roast),
|
||||||
)
|
)
|
||||||
.route(
|
.route(
|
||||||
"/roasts/:id",
|
"/roasts/{id}",
|
||||||
get(roasts::get_roast)
|
get(roasts::get_roast)
|
||||||
.put(roasts::update_roast)
|
.put(roasts::update_roast)
|
||||||
.delete(roasts::delete_roast),
|
.delete(roasts::delete_roast),
|
||||||
)
|
)
|
||||||
.route("/bags", get(bags::list_bags).post(bags::create_bag))
|
.route("/bags", get(bags::list_bags).post(bags::create_bag))
|
||||||
.route(
|
.route(
|
||||||
"/bags/:id",
|
"/bags/{id}",
|
||||||
get(bags::get_bag)
|
get(bags::get_bag)
|
||||||
.put(bags::update_bag)
|
.put(bags::update_bag)
|
||||||
.delete(bags::delete_bag),
|
.delete(bags::delete_bag),
|
||||||
)
|
)
|
||||||
.route("/gear", get(gear::list_gear).post(gear::create_gear))
|
.route("/gear", get(gear::list_gear).post(gear::create_gear))
|
||||||
.route(
|
.route(
|
||||||
"/gear/:id",
|
"/gear/{id}",
|
||||||
get(gear::get_gear)
|
get(gear::get_gear)
|
||||||
.put(gear::update_gear)
|
.put(gear::update_gear)
|
||||||
.delete(gear::delete_gear),
|
.delete(gear::delete_gear),
|
||||||
)
|
)
|
||||||
.route("/brews", get(brews::list_brews).post(brews::create_brew))
|
.route("/brews", get(brews::list_brews).post(brews::create_brew))
|
||||||
.route(
|
.route(
|
||||||
"/brews/:id",
|
"/brews/{id}",
|
||||||
get(brews::get_brew).delete(brews::delete_brew),
|
get(brews::get_brew).delete(brews::delete_brew),
|
||||||
)
|
)
|
||||||
.route("/cafes", get(cafes::list_cafes).post(cafes::create_cafe))
|
.route("/cafes", get(cafes::list_cafes).post(cafes::create_cafe))
|
||||||
.route(
|
.route(
|
||||||
"/cafes/:id",
|
"/cafes/{id}",
|
||||||
get(cafes::get_cafe)
|
get(cafes::get_cafe)
|
||||||
.put(cafes::update_cafe)
|
.put(cafes::update_cafe)
|
||||||
.delete(cafes::delete_cafe),
|
.delete(cafes::delete_cafe),
|
||||||
|
|
@ -74,15 +74,15 @@ pub(super) fn router() -> axum::Router<AppState> {
|
||||||
.route("/scan", post(scan::submit_scan))
|
.route("/scan", post(scan::submit_scan))
|
||||||
.route("/check-in", post(checkin::submit_checkin))
|
.route("/check-in", post(checkin::submit_checkin))
|
||||||
.route("/cups", get(cups::list_cups).post(cups::create_cup))
|
.route("/cups", get(cups::list_cups).post(cups::create_cup))
|
||||||
.route("/cups/:id", get(cups::get_cup).delete(cups::delete_cup))
|
.route("/cups/{id}", get(cups::get_cup).delete(cups::delete_cup))
|
||||||
.route(
|
.route(
|
||||||
"/tokens",
|
"/tokens",
|
||||||
post(tokens::create_token).get(tokens::list_tokens),
|
post(tokens::create_token).get(tokens::list_tokens),
|
||||||
)
|
)
|
||||||
.route("/tokens/:id/revoke", post(tokens::revoke_token))
|
.route("/tokens/{id}/revoke", post(tokens::revoke_token))
|
||||||
.route("/passkeys", get(account::list_passkeys))
|
.route("/passkeys", get(account::list_passkeys))
|
||||||
.route(
|
.route(
|
||||||
"/passkeys/:id",
|
"/passkeys/{id}",
|
||||||
axum::routing::delete(account::delete_passkey),
|
axum::routing::delete(account::delete_passkey),
|
||||||
)
|
)
|
||||||
.route("/backup", get(backup::export_backup))
|
.route("/backup", get(backup::export_backup))
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ pub(super) fn router() -> axum::Router<AppState> {
|
||||||
.route("/login", get(auth::login_page))
|
.route("/login", get(auth::login_page))
|
||||||
.route("/logout", post(auth::logout))
|
.route("/logout", post(auth::logout))
|
||||||
.route("/account", get(account::account_page))
|
.route("/account", get(account::account_page))
|
||||||
.route("/register/:token", get(webauthn::register_page))
|
.route("/register/{token}", get(webauthn::register_page))
|
||||||
.route("/auth/cli-callback", get(webauthn::cli_callback_page))
|
.route("/auth/cli-callback", get(webauthn::cli_callback_page))
|
||||||
.route("/data", get(data::data_page))
|
.route("/data", get(data::data_page))
|
||||||
.route("/add", get(add::add_page))
|
.route("/add", get(add::add_page))
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
use askama::Template;
|
use askama::Template;
|
||||||
use axum::async_trait;
|
|
||||||
use axum::extract::{Form, FromRequest, Json as JsonPayload, Request};
|
use axum::extract::{Form, FromRequest, Json as JsonPayload, Request};
|
||||||
use axum::http::{HeaderMap, HeaderValue, header::CONTENT_TYPE};
|
use axum::http::{HeaderMap, HeaderValue, header::CONTENT_TYPE};
|
||||||
use axum::response::{Html, IntoResponse, Response};
|
use axum::response::{Html, IntoResponse, Response};
|
||||||
|
|
@ -165,7 +164,6 @@ fn parse_direction(value: &str) -> Option<SortDirection> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[async_trait]
|
|
||||||
impl<S, T> FromRequest<S> for FlexiblePayload<T>
|
impl<S, T> FromRequest<S> for FlexiblePayload<T>
|
||||||
where
|
where
|
||||||
S: Send + Sync,
|
S: Send + Sync,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue