@@ -16,8 +16,6 @@ namespace Microsoft.OpenApi.Readers.V2
1616 /// </summary>
1717 internal static partial class OpenApiV2Deserializer
1818 {
19- private static bool _isBodyOrFormData ;
20-
2119 private static readonly FixedFieldMap < OpenApiParameter > _parameterFixedFields =
2220 new FixedFieldMap < OpenApiParameter >
2321 {
@@ -232,11 +230,11 @@ private static void ProcessIn(OpenApiParameter o, ParseNode n)
232230 switch ( value )
233231 {
234232 case "body" :
235- _isBodyOrFormData = true ;
233+ n . Context . SetTempStorage ( TempStorageKeys . ParameterIsBodyOrFormData , true ) ;
236234 n . Context . SetTempStorage ( TempStorageKeys . BodyParameter , o ) ;
237235 break ;
238236 case "formData" :
239- _isBodyOrFormData = true ;
237+ n . Context . SetTempStorage ( TempStorageKeys . ParameterIsBodyOrFormData , true ) ;
240238 var formParameters = n . Context . GetFromTempStorage < List < OpenApiParameter > > ( "formParameters" ) ;
241239 if ( formParameters == null )
242240 {
@@ -265,7 +263,7 @@ public static OpenApiParameter LoadParameter(ParseNode node)
265263 public static OpenApiParameter LoadParameter ( ParseNode node , bool loadRequestBody )
266264 {
267265 // Reset the local variables every time this method is called.
268- _isBodyOrFormData = false ;
266+ node . Context . SetTempStorage ( TempStorageKeys . ParameterIsBodyOrFormData , false ) ;
269267
270268 var mapNode = node . CheckMapNode ( "parameter" ) ;
271269
@@ -290,12 +288,13 @@ public static OpenApiParameter LoadParameter(ParseNode node, bool loadRequestBod
290288 node . Context . SetTempStorage ( "schema" , null ) ;
291289 }
292290
293- if ( _isBodyOrFormData && ! loadRequestBody )
291+ bool isBodyOrFormData = ( bool ) node . Context . GetFromTempStorage < object > ( TempStorageKeys . ParameterIsBodyOrFormData ) ;
292+ if ( isBodyOrFormData && ! loadRequestBody )
294293 {
295294 return null ; // Don't include Form or Body parameters when normal parameters are loaded.
296295 }
297296
298- if ( loadRequestBody && ! _isBodyOrFormData )
297+ if ( loadRequestBody && ! isBodyOrFormData )
299298 {
300299 return null ; // Don't include non-Body or non-Form parameters when request bodies are loaded.
301300 }
0 commit comments