Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow querying of HTTP status codes for query and form rejections #2781

Merged
merged 1 commit into from
Dec 26, 2024

Conversation

htrefil
Copy link
Contributor

@htrefil htrefil commented Jun 10, 2024

Motivation

axum_extra::{query::QueryRejection, form::FormRejection} are missing a method that would allow users to query the status code without converting it into a response via IntoResponse first.

This is useful when one wants to customize rejection responses.

Solution

Add pub fn status(&self) -> http::StatusCode methods to both rejections.

@htrefil htrefil changed the title Allow querying of HTTP status codes for query and form rejections WIP: Allow querying of HTTP status codes for query and form rejections Jun 10, 2024
@Turbo87 Turbo87 changed the title WIP: Allow querying of HTTP status codes for query and form rejections Allow querying of HTTP status codes for query and form rejections Dec 26, 2024
Copy link
Collaborator

@Turbo87 Turbo87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This appears reasonable to me and matches the status() fn on the rejections in the axum package, which is automatically created by the macros in axum-core.

I think it would make sense to refactor these rejections to use the axum-core macros instead, but that is a larger refactoring and can be done in a follow-up pull request.

@jplatte jplatte merged commit 0b06f0c into tokio-rs:main Dec 26, 2024
18 checks passed
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.

3 participants