{{ message }}
Repository navigation
Add assert error for requires() when request param is not Request type - #3298
Merged
Merged
Conversation
KeeganOP
force-pushed
the
requires_assert_error
branch
from
May 28, 2026 12:14
a2677ad to
64ede9b
Compare
Owner
Contributor
Author
ubutatu
approved these changes
Jun 9, 2026
ubutatu
approved these changes
Jun 9, 2026
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.

Summary
Adding
requires('scope')to a function that has arequestparam that is not of typeRequestcurrently throws anAssertionError:Which isn't much of a problem specifically in
starlettesince all functions that handlepostrequests will do so from accessingrequest.json(). However, infastapi, body parameters are pydantic models that can be any name and type, includingrequest.This change is to add a message to the assert to better communicate what the issue might be for the case where the request parameter is not of type
Request:MRE:
Changing
request: ExampleRequesttobody: ExampleRequestand adding arequest: Requestto the function params above works fine.Checklist
I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.non functional changeI've updated the documentation accordingly.