-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
[release/6.0-rc2] Handle JsonExceptions in RequestDelegateFactory #36627
Merged
wtgodbe
merged 2 commits into
release/6.0-rc2
from
backport/pr-36589-to-release/6.0-rc2
Sep 17, 2021
Merged
[release/6.0-rc2] Handle JsonExceptions in RequestDelegateFactory #36627
wtgodbe
merged 2 commits into
release/6.0-rc2
from
backport/pr-36589-to-release/6.0-rc2
Sep 17, 2021
Conversation
This file contains 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
captainsafia
approved these changes
Sep 16, 2021
"Hi halter73. Please make sure you've updated the PR description to use the Shiproom Template. Also, make sure this PR is not marked as a draft and is ready-to-merge. To learn more about how to prepare a servicing PR click here. |
dougbu
added a commit
that referenced
this pull request
Sep 22, 2021
* [release/6.0-rc2] Update dependencies from dotnet/efcore (#36635) [release/6.0-rc2] Update dependencies from dotnet/efcore * [release/6.0-rc2] Handle JsonExceptions in RequestDelegateFactory (#36627) * Handle JsonExceptions like InvalidDataExceptions in RequestDelegateFactory * Don't catch InvalidDataExceptions when reading JSON * [release/6.0-rc2] Update dependencies from dotnet/runtime dotnet/efcore (#36651) [release/6.0-rc2] Update dependencies from dotnet/runtime dotnet/efcore * Avoid using invalid content type for ValidationProblemDetails (#36618) Co-authored-by: Safia Abdalla <[email protected]> * Update dependencies from https://github.com/dotnet/efcore build 20210917.6 (#36667) [release/6.0-rc2] Update dependencies from dotnet/efcore * Use a fake clock in the test (#36626) Co-authored-by: Chris R <[email protected]> * Update dependencies from https://github.com/dotnet/runtime build 20210917.8 (#36675) [release/6.0-rc2] Update dependencies from dotnet/runtime * [release/6.0-rc2] Throw for invalid TryParse and BindAsync (#36662) * Backport of #36628 to release/6.0-rc2 * Throw for invalid TryParse and BindAsync * nit * use TypeNameHelper * nit Co-authored-by: Brennan <[email protected]> * Update dependencies from https://github.com/dotnet/efcore build 20210917.8 (#36681) [release/6.0-rc2] Update dependencies from dotnet/efcore * Revert Enforce WebSockets Transport for Blazor (#36656) * Revert Enforce WebSockets Transport for Blazor (changes introduced in #34644) * Updated Release JS Files * [release/6.0-rc2] Update dependencies from dotnet/runtime dotnet/efcore (#36687) [release/6.0-rc2] Update dependencies from dotnet/runtime dotnet/efcore * Update dependencies from https://github.com/dotnet/runtime build 20210917.25 (#36699) [release/6.0-rc2] Update dependencies from dotnet/runtime * Update dependencies from https://github.com/dotnet/efcore build 20210917.18 (#36701) [release/6.0-rc2] Update dependencies from dotnet/efcore * [release/6.0-rc2] Update dependencies from dotnet/efcore dotnet/runtime (#36706) [release/6.0-rc2] Update dependencies from dotnet/efcore dotnet/runtime * [Release/6.0-rc2] Fix and test HttpSys delegation (#36698) * Out of proc delegation tests * Troubleshoot IsFeatureSupported * Fix test * Fix formatting * Seperate tests * Cleanup * Fix SLN * Update dependencies from https://github.com/dotnet/efcore build 20210918.7 (#36715) [release/6.0-rc2] Update dependencies from dotnet/efcore * Find inherited TryParse and BindAsync (#36694) Co-authored-by: Brennan <[email protected]> * [release/6.0-rc2] Use minimal APIs for F# project templates (#36660) * [release/6.0-rc2] Retarget DOTNETHOME when installing x64 on ARM64 (#36695) * Retarget DOTNETHOME when installing x64 on ARM64 * Make platform comparison case insenstive * Address feedback * Install x64 registry keys to different path on ARM64 machine Co-authored-by: Eric StJohn <[email protected]> * Pin analyzers that ship in the SDK (#36690) (#36754) * Pin analyzers that ship in the SDK (#36690) * Pin analyzers that ship in the SDK ASP.NET Core produces a few analyzer assemblies that are shipped as part of the .NET SDK. These analyzers are added to web projects targeting 3.1 and newer. In 6.0, we (unintentionally) bumped the version of Microsoft.CodeAnalysis that these projects referenced to a 4.0 version. This causes warnings when opening a 3.1 or 5.0 app in VS 2019 as it does not support these versions. Additionally update the version of Microsoft.CodeAnalysis.* packages used in tests, Razor, and framework analyzers that are only expected to run with VS 2020 to a more recent build. This is largely book-keeping, but allows us to write a test for file scoped namespaces. Fixes #36552 * Apply suggestions from code review * [release/6.0-rc2] Rename and consolidate "DelegateEndpoint" types (#36578) * Call AddEndpointsApiExplorer() in controllers Web API template (#36753) - backport of #36752 to release/6.0-rc2 Co-authored-by: DamianEdwards <[email protected]> * [release/6.0-rc2] Update dependencies from dotnet/efcore dotnet/runtime (#36769) [release/6.0-rc2] Update dependencies from dotnet/efcore dotnet/runtime * Update dependencies from https://github.com/dotnet/efcore build 20210920.20 (#36778) [release/6.0-rc2] Update dependencies from dotnet/efcore Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Stephen Halter <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Safia Abdalla <[email protected]> Co-authored-by: Chris R <[email protected]> Co-authored-by: Brennan <[email protected]> Co-authored-by: Tanay Parikh <[email protected]> Co-authored-by: Chris Ross <[email protected]> Co-authored-by: Eric StJohn <[email protected]> Co-authored-by: Pranav K <[email protected]> Co-authored-by: DamianEdwards <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area-networking
Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
old-area-web-frameworks-do-not-use
*DEPRECATED* This label is deprecated in favor of the area-mvc and area-minimal labels
Servicing-approved
Shiproom has approved the issue
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.
Backport of #36589 to release/6.0-rc2
Description
This change causes minimal API route handlers to respond with a "400 Bad Request" instead of "500 Internal Server Error" when given a request body with an
application/json
Content-Type but malformed JSON.Before, we expected this to throw an
InvalidDataException
but malformed JSON results in aJsonException
instead.Customer Impact
This more clearly distinguishes server side errors that should result in 500 responses from errors caused by a malformed JSON request body.
Regression?
Risk
This is a bug fix to handle JsonExceptions like we were handling InvalidDataExceptions before. ReadFromJsonAsync actually throws JsonExceptions but not InvalidDataExceptions.
Verification
Packaging changes reviewed?