summaryrefslogtreecommitdiff
path: root/server
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 /server
parent4d4357430248ef62051ea204ef02f7e998277355 (diff)
Update axum to 0.6
Diffstat (limited to 'server')
-rw-r--r--server/Cargo.toml5
-rw-r--r--server/src/auth.rs16
2 files changed, 10 insertions, 11 deletions
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") {