Fix up handling for awaitable IResults in ApiExplorer #57068
Merged
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.
Closes #56975.
I introduced in a regression in 8da6daa that meant that
IResult
types (which don't expose any metadata) were erroneously inserted intoApiResponseTypes
. This regression wasn't caught because the test cases that existed optimized for void-returning awaitables and didn't factor in result types that implementedIEndpointMetadataProvider
.To resolve this issue, I've made some changes to treat
IResult
-types directly in the response and those included in metadata as void responses that should not map toApiResponseType
s. I also included additional tests for handling of typed results in ApiExplorer.