Skip to content

Commit dca3888

Browse files
Ensure 'code' extension is set. Fixes #1091
1 parent 371eda4 commit dca3888

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

src/AspNetCore/Acceptance/Asp.Versioning.Mvc.Acceptance.Tests/OData/Basic/given a versioned ODataController/when using a query string.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public async Task then_get_should_return_400_for_an_unspecified_version()
4949
// assert
5050
response.StatusCode.Should().Be( BadRequest );
5151
problem.Type.Should().Be( ProblemDetailsDefaults.Unspecified.Type );
52+
problem.Extensions["code"].ToString().Should().Be( "ApiVersionUnspecified" );
5253
}
5354

5455
public when_using_a_query_string( BasicFixture fixture, ITestOutputHelper console )

src/AspNetCore/WebApi/src/Asp.Versioning.Http/Routing/EndpointProblem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ internal static ProblemDetailsContext New( HttpContext context, ProblemDetailsIn
2525
},
2626
};
2727

28-
if ( string.IsNullOrEmpty( code ) )
28+
if ( !string.IsNullOrEmpty( code ) )
2929
{
3030
newContext.ProblemDetails.Extensions[nameof( code )] = code;
3131
}

src/Common/test/Common.Acceptance.Tests/HttpContentExtensions.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,30 @@ namespace Asp.Versioning;
66
using Microsoft.AspNetCore.Mvc;
77
#endif
88
using System.Net.Http;
9+
#if NETFRAMEWORK
910
using System.Net.Http.Formatting;
11+
#else
12+
using System.Net.Http.Json;
13+
#endif
1014

1115
internal static class HttpContentExtensions
1216
{
17+
#if NETFRAMEWORK
1318
private static readonly JsonMediaTypeFormatter ProblemDetailsMediaTypeFormatter = new()
1419
{
1520
SupportedMediaTypes = { new( ProblemDetailsDefaults.MediaType.Json ) },
1621
};
1722
private static readonly IEnumerable<MediaTypeFormatter> MediaTypeFormatters = new[] { ProblemDetailsMediaTypeFormatter };
23+
#endif
1824

1925
public static Task<ProblemDetails> ReadAsProblemDetailsAsync(
2026
this HttpContent content,
2127
CancellationToken cancellationToken = default ) =>
28+
#if NETFRAMEWORK
2229
content.ReadAsAsync<ProblemDetails>( MediaTypeFormatters, cancellationToken );
30+
#else
31+
content.ReadFromJsonAsync<ProblemDetails>( cancellationToken );
32+
#endif
2333

2434
#pragma warning disable IDE0060 // Remove unused parameter
2535
#pragma warning disable IDE0079 // Remove unnecessary suppression

0 commit comments

Comments
 (0)