44using System ;
55using System . Collections . Generic ;
66using System . Linq ;
7+ using System . Net . Http ;
78using Microsoft . OpenApi . Extensions ;
89using Microsoft . OpenApi . Models ;
910using Microsoft . OpenApi . Reader . ParseNodes ;
@@ -18,13 +19,17 @@ internal static partial class OpenApiV2Deserializer
1819 {
1920 private static readonly FixedFieldMap < OpenApiPathItem > _pathItemFixedFields = new ( )
2021 {
21- { "get" , ( o , n , t ) => o . AddOperation ( OperationType . Get , LoadOperation ( n , t ) ) } ,
22- { "put" , ( o , n , t ) => o . AddOperation ( OperationType . Put , LoadOperation ( n , t ) ) } ,
23- { "post" , ( o , n , t ) => o . AddOperation ( OperationType . Post , LoadOperation ( n , t ) ) } ,
24- { "delete" , ( o , n , t ) => o . AddOperation ( OperationType . Delete , LoadOperation ( n , t ) ) } ,
25- { "options" , ( o , n , t ) => o . AddOperation ( OperationType . Options , LoadOperation ( n , t ) ) } ,
26- { "head" , ( o , n , t ) => o . AddOperation ( OperationType . Head , LoadOperation ( n , t ) ) } ,
27- { "patch" , ( o , n , t ) => o . AddOperation ( OperationType . Patch , LoadOperation ( n , t ) ) } ,
22+ { "get" , ( o , n , t ) => o . AddOperation ( HttpMethod . Get , LoadOperation ( n , t ) ) } ,
23+ { "put" , ( o , n , t ) => o . AddOperation ( HttpMethod . Put , LoadOperation ( n , t ) ) } ,
24+ { "post" , ( o , n , t ) => o . AddOperation ( HttpMethod . Post , LoadOperation ( n , t ) ) } ,
25+ { "delete" , ( o , n , t ) => o . AddOperation ( HttpMethod . Delete , LoadOperation ( n , t ) ) } ,
26+ { "options" , ( o , n , t ) => o . AddOperation ( HttpMethod . Options , LoadOperation ( n , t ) ) } ,
27+ { "head" , ( o , n , t ) => o . AddOperation ( HttpMethod . Head , LoadOperation ( n , t ) ) } ,
28+ #if NETSTANDARD2_1_OR_GREATER
29+ { "patch" , ( o , n , t ) => o . AddOperation ( HttpMethod . Patch , LoadOperation ( n , t ) ) } ,
30+ #else
31+ { "patch" , ( o , n , t ) => o . AddOperation ( new HttpMethod ( "PATCH" ) , LoadOperation ( n , t ) ) } ,
32+ #endif
2833 {
2934 "parameters" ,
3035 LoadPathParameters
@@ -62,13 +67,15 @@ private static void LoadPathParameters(OpenApiPathItem pathItem, ParseNode node,
6267 var requestBody = CreateRequestBody ( node . Context , bodyParameter ) ;
6368 foreach ( var opPair in pathItem . Operations . Where ( x => x . Value . RequestBody is null ) )
6469 {
65- switch ( opPair . Key )
70+ if ( opPair . Key == HttpMethod . Post || opPair . Key == HttpMethod . Put
71+ #if NETSTANDARD2_1_OR_GREATER
72+ || opPair . Key == HttpMethod . Patch
73+ #else
74+ || opPair . Key == new HttpMethod ( "PATCH" )
75+ #endif
76+ )
6677 {
67- case OperationType . Post :
68- case OperationType . Put :
69- case OperationType . Patch :
70- opPair . Value . RequestBody = requestBody ;
71- break ;
78+ opPair . Value . RequestBody = requestBody ;
7279 }
7380 }
7481 }
@@ -80,17 +87,20 @@ private static void LoadPathParameters(OpenApiPathItem pathItem, ParseNode node,
8087 var requestBody = CreateFormBody ( node . Context , formParameters ) ;
8188 foreach ( var opPair in pathItem . Operations . Where ( x => x . Value . RequestBody is null ) )
8289 {
83- switch ( opPair . Key )
90+ if ( opPair . Key == HttpMethod . Post || opPair . Key == HttpMethod . Put
91+ #if NETSTANDARD2_1_OR_GREATER
92+ || opPair . Key == HttpMethod . Patch
93+ #else
94+ || opPair . Key == new HttpMethod ( "PATCH" )
95+ #endif
96+ )
8497 {
85- case OperationType . Post :
86- case OperationType . Put :
87- case OperationType . Patch :
88- opPair . Value . RequestBody = requestBody ;
89- break ;
98+ opPair . Value . RequestBody = requestBody ;
9099 }
91100 }
92101 }
93102 }
103+
94104 }
95105 }
96106}
0 commit comments