1
1
using Microsoft . AspNetCore . Http ;
2
2
using Microsoft . Extensions . Logging ;
3
3
using System ;
4
- using System . Globalization ;
5
4
using System . IO ;
6
5
using System . Text ;
7
6
using System . Threading . Tasks ;
@@ -16,7 +15,7 @@ public class SwaggerMiddleware
16
15
17
16
public SwaggerMiddleware (
18
17
SwaggerOptions options ,
19
- RequestDelegate next ,
18
+ RequestDelegate next ,
20
19
ILogger < SwaggerMiddleware > logger
21
20
)
22
21
{
@@ -38,17 +37,16 @@ public async Task Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvid
38
37
var swagger = swaggerProvider . GetSwaggerInfo ( ) ;
39
38
await RespondWithSwaggerJson ( httpContext . Response , swagger ) ;
40
39
}
41
- catch ( Exception ex )
40
+ catch ( Exception ex )
42
41
{
43
42
_logger . LogError ( ex , ex . Message ) ;
44
43
RespondWithNotFound ( httpContext . Response ) ;
45
44
}
46
-
47
45
}
48
46
49
47
private bool RequestingSwaggerDocument ( HttpRequest request )
50
48
{
51
- if ( ! string . Equals ( request . Method , "get" , StringComparison . OrdinalIgnoreCase ) )
49
+ if ( ! string . Equals ( request . Method , "get" , StringComparison . OrdinalIgnoreCase ) )
52
50
{
53
51
return false ;
54
52
}
@@ -66,14 +64,9 @@ private async Task RespondWithSwaggerJson(HttpResponse response, SwaggerInfo swa
66
64
response . StatusCode = 200 ;
67
65
response . ContentType = "application/json;charset=utf-8" ;
68
66
69
- var settings = new Newtonsoft . Json . JsonSerializerSettings
70
- {
71
- DefaultValueHandling = Newtonsoft . Json . DefaultValueHandling . Ignore
72
- } ;
67
+ var swaggerJson = System . Text . Json . JsonSerializer . Serialize ( swagger , new System . Text . Json . JsonSerializerOptions ( System . Text . Json . JsonSerializerDefaults . Web ) ) ;
73
68
74
- var swaggerJson = Newtonsoft . Json . JsonConvert . SerializeObject ( swagger , Newtonsoft . Json . Formatting . None , settings ) ;
75
69
await response . WriteAsync ( swaggerJson , new UTF8Encoding ( false ) ) ;
76
70
}
77
71
}
78
-
79
- }
72
+ }
0 commit comments