Skip to content

Commit a91cdf2

Browse files
authored
Merge pull request #70 from marcominerva/develop
Update services, middleware, and target frameworks
2 parents 0f09cd5 + bd32e2a commit a91cdf2

File tree

6 files changed

+26
-46
lines changed

6 files changed

+26
-46
lines changed

samples/Controllers/OperationResults.Sample/Program.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,14 @@
4141

4242
builder.Services.AddRequestLocalization("en", "it");
4343

44+
builder.Services.AddDefaultProblemDetails();
45+
builder.Services.AddDefaultExceptionHandler();
46+
4447
builder.Services.AddEndpointsApiExplorer();
4548
builder.Services.AddSwaggerGen(options =>
4649
{
4750
options.AddAcceptLanguageHeader();
51+
options.AddDefaultResponse();
4852
});
4953

5054
var app = builder.Build();
@@ -58,9 +62,10 @@
5862
app.UseSwaggerUI();
5963
}
6064

61-
app.UseRequestLocalization();
65+
app.UseExceptionHandler();
66+
app.UseStatusCodePages();
6267

63-
app.UseAuthorization();
68+
app.UseRequestLocalization();
6469

6570
app.MapControllers();
6671

samples/MinimalApis/OperationResults.Sample/OperationResults.Sample.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="9.0.1" />
1010
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.1" />
1111
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.2.0" />
12+
<PackageReference Include="TinyHelpers.AspNetCore" Version="4.0.15" />
13+
<PackageReference Include="TinyHelpers.AspNetCore.Swashbuckle" Version="4.0.8" />
1214
</ItemGroup>
1315

1416
<ItemGroup>

samples/MinimalApis/OperationResults.Sample/Program.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
using OperationResults.Sample.BusinessLayer.Services.Interfaces;
88
using OperationResults.Sample.DataAccessLayer;
99
using OperationResults.Sample.Shared.Models;
10+
using TinyHelpers.AspNetCore.Extensions;
11+
using TinyHelpers.AspNetCore.Swagger;
1012

1113
var builder = WebApplication.CreateBuilder(args);
1214

@@ -34,10 +36,17 @@
3436
//options.MapStatusCodes = false;
3537
});
3638

37-
builder.Services.AddProblemDetails();
39+
builder.Services.AddRequestLocalization("en", "it");
40+
41+
builder.Services.AddDefaultProblemDetails();
42+
builder.Services.AddDefaultExceptionHandler();
3843

3944
builder.Services.AddEndpointsApiExplorer();
40-
builder.Services.AddSwaggerGen();
45+
builder.Services.AddSwaggerGen(options =>
46+
{
47+
options.AddAcceptLanguageHeader();
48+
options.AddDefaultResponse();
49+
});
4150

4251
var app = builder.Build();
4352

@@ -53,6 +62,8 @@
5362
app.UseSwaggerUI();
5463
}
5564

65+
app.UseRequestLocalization();
66+
5667
var peopleApi = app.MapGroup("api/people");
5768

5869
peopleApi.MapGet("/", async (IPeopleService peopleService, HttpContext httpContext) =>

src/OperationResults.AspNetCore.Http/OperationResultExtensions.cs

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ public static IResult ToResponse(this Result result, HttpContext httpContext, in
1313
{
1414
if (result.Success)
1515
{
16-
#if NET6_0
17-
return Results.StatusCode(successStatusCode.GetValueOrDefault(StatusCodes.Status204NoContent));
18-
#else
1916
return TypedResults.StatusCode(successStatusCode.GetValueOrDefault(StatusCodes.Status204NoContent));
20-
#endif
2117
}
2218

2319
return Problem(httpContext, result.FailureReason, null, result.ErrorMessage, result.ErrorDetail, result.ValidationErrors);
@@ -28,12 +24,7 @@ public static IResult ToResponse(this Result result, HttpContext httpContext, st
2824
if (result.Success)
2925
{
3026
var routeValueDictionary = new RouteValueDictionary(routeValues);
31-
32-
#if NET6_0
33-
return Results.CreatedAtRoute(routeName, routeValues);
34-
#else
3527
return TypedResults.CreatedAtRoute(routeName, routeValues);
36-
#endif
3728
}
3829

3930
return Problem(httpContext, result.FailureReason, null, result.ErrorMessage, result.ErrorDetail, result.ValidationErrors);
@@ -51,42 +42,21 @@ public static IResult ToResponse<T>(this Result<T> result, HttpContext httpConte
5142
if (!string.IsNullOrWhiteSpace(routeName))
5243
{
5344
var routeValueDictionary = new RouteValueDictionary(routeValues);
54-
55-
#if NET6_0
56-
return Results.CreatedAtRoute(routeName, routeValues, result.Content);
57-
#else
5845
return TypedResults.CreatedAtRoute(result.Content, routeName, routeValues);
59-
#endif
6046
}
6147
else if (result.Content is StreamFileContent streamFileContent)
6248
{
63-
#if NET6_0
64-
return Results.Stream(streamFileContent.Content, streamFileContent.ContentType, streamFileContent.DownloadFileName);
65-
#else
6649
return TypedResults.Stream(streamFileContent.Content, streamFileContent.ContentType, streamFileContent.DownloadFileName);
67-
#endif
6850
}
6951
else if (result.Content is ByteArrayFileContent byteArrayFileContent)
7052
{
71-
#if NET6_0
72-
return Results.File(byteArrayFileContent.Content, byteArrayFileContent.ContentType, byteArrayFileContent.DownloadFileName);
73-
#else
7453
return TypedResults.File(byteArrayFileContent.Content, byteArrayFileContent.ContentType, byteArrayFileContent.DownloadFileName);
75-
#endif
7654
}
7755

78-
#if NET6_0
79-
return Results.Json(result.Content, statusCode: successStatusCode.GetValueOrDefault(StatusCodes.Status200OK));
80-
#else
8156
return TypedResults.Json(result.Content, statusCode: successStatusCode.GetValueOrDefault(StatusCodes.Status200OK));
82-
#endif
8357
}
8458

85-
#if NET6_0
86-
return Results.StatusCode(successStatusCode.GetValueOrDefault(StatusCodes.Status204NoContent));
87-
#else
8859
return TypedResults.StatusCode(successStatusCode.GetValueOrDefault(StatusCodes.Status204NoContent));
89-
#endif
9060
}
9161

9262
return Problem(httpContext, result.FailureReason, result.Content, result.ErrorMessage, result.ErrorDetail, result.ValidationErrors);
@@ -99,11 +69,7 @@ private static IResult Problem(HttpContext httpContext, int failureReason, objec
9969

10070
if (content is not null)
10171
{
102-
#if NET6_0
103-
return Results.Json(content, statusCode: statusCode);
104-
#else
10572
return TypedResults.Json(content, statusCode: statusCode);
106-
#endif
10773
}
10874

10975
var problemDetails = new ProblemDetails
@@ -129,13 +95,9 @@ private static IResult Problem(HttpContext httpContext, int failureReason, objec
12995
}
13096
}
13197

132-
#if NET6_0
133-
return Results.Problem(problemDetails);
134-
#else
13598
var problemResult = TypedResults.Problem(problemDetails);
13699
problemResult.ProblemDetails.Type ??= $"https://httpstatuses.io/{statusCode}";
137100

138101
return problemResult;
139-
#endif
140102
}
141103
}

src/OperationResults.AspNetCore.Http/OperationResults.AspNetCore.Http.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
4+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<Authors>Marco Minerva</Authors>
@@ -25,7 +25,7 @@
2525
</ItemGroup>
2626

2727
<ItemGroup>
28-
<PackageReference Include="OperationResultTools" Version="1.0.29" />
28+
<PackageReference Include="OperationResultTools" Version="1.0.30" />
2929
</ItemGroup>
3030

3131
<ItemGroup>

src/OperationResults.AspNetCore/OperationResults.AspNetCore.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net6.0;net7.0;net8.0</TargetFrameworks>
4+
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<Authors>Marco Minerva</Authors>
@@ -25,7 +25,7 @@
2525
</ItemGroup>
2626

2727
<ItemGroup>
28-
<PackageReference Include="OperationResultTools" Version="1.0.29" />
28+
<PackageReference Include="OperationResultTools" Version="1.0.30" />
2929
</ItemGroup>
3030

3131
<ItemGroup>

0 commit comments

Comments
 (0)