Skip to content

feat: Implement IntoResponseParts for Redirect#3660

Open
HaiqalAly wants to merge 4 commits intotokio-rs:mainfrom
HaiqalAly:feat/redirect-into-response-parts
Open

feat: Implement IntoResponseParts for Redirect#3660
HaiqalAly wants to merge 4 commits intotokio-rs:mainfrom
HaiqalAly:feat/redirect-into-response-parts

Conversation

@HaiqalAly
Copy link
Contributor

@HaiqalAly HaiqalAly commented Feb 15, 2026

Motivation

I saw the feature request in #3637 and wanted to try helping out!

The goal is to allow Redirect to be used as part of a response tuple, which makes it much easier to provide a custom body alongside a redirect. Currently, you have to manually build the response with StatusCode and headers to achieve this.

Solution

I've implemented IntoResponseParts for Redirect, so it can now be used like this:

(
    Redirect::to(EXAMPLE_URL),
    Html(format!(
        r#"<p>Redirecting to <a href="{EXAMPLE_URL}">{EXAMPLE_URL}</a></p>"#
    )),
)

To make this work, I had to add a set_status method to ResponseParts in axum-core, as I couldn't find a way to modify the status code otherwise.

umm... Just realized what I did and I admit I felt scared because I touched the core crate! 😅 I wasn't sure if axum-core changes are strictly reserved for maintainers or if there are stability guarantees I might be unknowingly breaking. I think this change is safe since it's purely additive, but please let me know if I've overstepped or if there's a different way you prefer this to be handled. I'm very happy to close this or adjust it based on your guidance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants