Skip to content

Commit b0bb138

Browse files
authored
conduit-axum: Move RoutePattern insertion out of conduit_into_axum() (#5781)
This is only needed when the request has passed through the conduit router and it makes the function less reusable.
1 parent 7f876d4 commit b0bb138

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

conduit-axum/src/fallback.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,13 @@ async fn fallback_to_conduit(
5959
let mut request = ConduitRequest::new(request, remote_addr, now);
6060
handler
6161
.call(&mut request)
62-
.map(|response| conduit_into_axum(response, request))
62+
.map(|mut response| {
63+
if let Some(pattern) = request.mut_extensions().remove::<RoutePattern>() {
64+
response.extensions_mut().insert(pattern);
65+
}
66+
67+
conduit_into_axum(response)
68+
})
6369
.unwrap_or_else(|e| server_error_response(&*e))
6470
})
6571
})
@@ -68,13 +74,9 @@ async fn fallback_to_conduit(
6874
}
6975

7076
/// Turns a `ConduitResponse` into a `AxumResponse`
71-
fn conduit_into_axum(mut response: ConduitResponse, mut request: ConduitRequest) -> AxumResponse {
77+
fn conduit_into_axum(response: ConduitResponse) -> AxumResponse {
7278
use conduit::Body::*;
7379

74-
if let Some(pattern) = request.mut_extensions().remove::<RoutePattern>() {
75-
response.extensions_mut().insert(pattern);
76-
}
77-
7880
let (parts, body) = response.into_parts();
7981
match body {
8082
Static(slice) => Response::from_parts(parts, axum::body::Body::from(slice)).into_response(),

0 commit comments

Comments
 (0)