Reintroduce header param type conversion#1931
Open
CordulaGuder wants to merge 1 commit intospec-first:mainfrom
Open
Reintroduce header param type conversion#1931CordulaGuder wants to merge 1 commit intospec-first:mainfrom
CordulaGuder wants to merge 1 commit intospec-first:mainfrom
Conversation
Member
| Thanks @CordulaGuder, We explicitly deduplicated all However by implementing it in the validation, the types in the headers are validated after coercion while they are passed to the application without coercion. If we want to reactivate this, we should centralize it as well. We can either also do it in the See #1934 which was triggered by reviewing this PR. |
RobbeSneyders added a commit that referenced this pull request May 28, 2024
During the refactoring for Connexion 3, we deduplicated all `coerce_type` calls during the refactoring and moved them into the `uri_parser` so it is done in a single place. When looking into #1931 however, I noticed we are still using the `uri_parser` from more places than we should. This PR centralizes the parsing further into the `ConnexionRequest` class. During validation, we now instantiate a `ConnexionRequest` instead of a Starlette `Request`, and leverage it instead of calling the `uri_parser` directly. I split the parsing and validation in the tests so they can be tested in isolation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR fixes the type conversion of header params that seems to have gone missing during the refactoring.
In Connexion 2, the ParameterValidator used to do type conversion in its main function validate_parameter, so it did that for all kinds of params it came across. In Connexion 3, this has moved to the URIParser classes (connexion.uri_parsing), so header params are not being type converted anymore. This PR fixes this bug.
Changes proposed in this pull request: