-
Notifications
You must be signed in to change notification settings - Fork 279
fix: correct error pointer when extension parser throws OpenApiException #2659
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
Merged
+130
−18
Conversation
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
… pointers When extension parsers throw OpenApiException, the exceptions are now caught in LoadExtension methods across all OpenAPI versions (V2, V3, V3.1, V3.2). This ensures the error pointer correctly includes all path segments (e.g., #/definitions/demo/x-tag instead of #/definitions/x-tag). Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Moved the return statement for JsonNodeExtension outside the catch block to match the pattern used in V3, V31, and V32 deserializers. Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix OpenApiError.Pointer skipping levels on exceptions
fix: correct error pointer when extension parser throws OpenApiException
Dec 22, 2025
baywet
requested changes
Dec 22, 2025
Changed from verbatim string literals (@"...") to raw string literals ("""...""") for consistency with existing test code.
Co-authored-by: baywet <7905502+baywet@users.noreply.github.com>
baywet
approved these changes
Dec 22, 2025
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
baywet
approved these changes
Dec 22, 2025
|
adrian05-ms
approved these changes
Dec 22, 2025
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.


Pull Request
Description
Extension parser exceptions were missing parent path segments in error pointers. For instance, an exception in
#/definitions/demo/x-tagwould report as#/definitions/x-tag, omittingdemo.Type of Change
Changes Made
LoadExtensionmethods with try-catch blocks across all OpenAPI versions (V2, V3, V3.1, V3.2)OpenApiException, set pointer to current context location before logging to diagnosticJsonNodeExtensionafter logging to allow parsing to continueExample:
Testing
Checklist
Versions applicability
Additional Notes
All
LoadExtensionimplementations now follow a consistent exception handling pattern. The fix preserves parsing continuity by returning a default extension when custom parsers fail. Test code uses raw string literals ("""...""") for multi-line JSON data, consistent with the project's coding style.Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.