summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kj@orbekk.com>2022-12-23 07:17:55 -0500
committerKjetil Orbekk <kj@orbekk.com>2022-12-23 07:17:55 -0500
commiteae8b9b7a40c3f2a52f319e695b280a41618fdd8 (patch)
treef509f4e902f1d9e10d9afe92592430c6a6f231c5
parent4d4357430248ef62051ea204ef02f7e998277355 (diff)
Update axum to 0.6
-rw-r--r--Cargo.lock19
-rw-r--r--server/Cargo.toml5
-rw-r--r--server/src/auth.rs16
3 files changed, 21 insertions, 19 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 183c1a0..c00808c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -111,9 +111,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "axum"
-version = "0.5.17"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43"
+checksum = "08b108ad2665fa3f6e6a517c3d80ec3e77d224c47d605167aefaa5d7ef97fa48"
dependencies = [
"async-trait",
"axum-core",
@@ -129,8 +129,10 @@ dependencies = [
"mime",
"percent-encoding",
"pin-project-lite",
+ "rustversion",
"serde",
"serde_json",
+ "serde_path_to_error",
"serde_urlencoded",
"sync_wrapper",
"tokio",
@@ -142,9 +144,9 @@ dependencies = [
[[package]]
name = "axum-core"
-version = "0.2.9"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
+checksum = "79b8558f5a0581152dc94dcd289132a1d377494bdeafcd41869b3258e3e2ad92"
dependencies = [
"async-trait",
"bytes",
@@ -152,6 +154,7 @@ dependencies = [
"http",
"http-body",
"mime",
+ "rustversion",
"tower-layer",
"tower-service",
]
@@ -1171,9 +1174,9 @@ dependencies = [
[[package]]
name = "matchit"
-version = "0.5.0"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
+checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
[[package]]
name = "md-5"
@@ -2387,9 +2390,9 @@ dependencies = [
[[package]]
name = "tower-cookies"
-version = "0.7.0"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19833e336396f3953e5ab1513d72b5e5ea51d5ad39b78d306766a05740b48b97"
+checksum = "4efe6d9c78aae53650a340d0e702e4f103582dce6af6bf897dc1b56c8ed5d4f6"
dependencies = [
"async-trait",
"axum-core",
diff --git a/server/Cargo.toml b/server/Cargo.toml
index 8d8407c..7e2772f 100644
--- a/server/Cargo.toml
+++ b/server/Cargo.toml
@@ -6,8 +6,7 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
-# TODO Upgrade to 0.6: https://github.com/tokio-rs/axum/blob/main/axum/CHANGELOG.md
-axum = "0.5"
+axum = "0.6"
dotenv = "0.15.0"
serde = { version = "1.0.145", features = ["derive"] }
serde_json = "1.0.85"
@@ -19,7 +18,7 @@ protocol = { path = "../protocol" }
openidconnect = "2.3.2"
lru = "0.8.1"
uuid = { version = "1.1.2", features = ["serde", "fast-rng", "v4"] }
-tower-cookies = "0.7.0"
+tower-cookies = "0.8.0"
tower = { version = "0.4.13", features = ["full"] }
urlencoding = "2.1.2"
sqlx = { version = "0.6", features = ["runtime-tokio-native-tls", "postgres", "uuid", "chrono", "json"] }
diff --git a/server/src/auth.rs b/server/src/auth.rs
index fc0de62..d0f6c38 100644
--- a/server/src/auth.rs
+++ b/server/src/auth.rs
@@ -9,8 +9,8 @@ use std::{
use crate::{error::BridgeError, server::ContextExtension};
use async_trait::async_trait;
use axum::{
- extract::FromRequest,
- response::{IntoResponse, Response},
+ extract::{FromRequest, FromRequestParts},
+ response::{IntoResponse, Response}, http::request::Parts,
};
use chrono::{DateTime, Utc};
use lru::LruCache;
@@ -368,19 +368,19 @@ pub async fn fetch_authenticated_session(
}
#[async_trait]
-impl<B> FromRequest<B> for AuthenticatedSession
+impl<B> FromRequestParts<B> for AuthenticatedSession
where
- B: Send,
+ B: Send + Sync,
{
type Rejection = Response;
- async fn from_request(
- req: &mut axum::extract::RequestParts<B>,
+ async fn from_request_parts(
+ parts: &mut Parts, state: &B
) -> Result<Self, Self::Rejection> {
- let cookies = Cookies::from_request(req)
+ let cookies = Cookies::from_request_parts(parts, state)
.await
.map_err(|e| e.into_response())?;
- let extension = ContextExtension::from_request(req)
+ let extension = ContextExtension::from_request_parts(parts, state)
.await
.map_err(|e| e.into_response())?;
let cookie = match cookies.get("user-id") {