@@ -16,8 +16,6 @@ namespace Microsoft.OpenApi.Readers.V2
16
16
/// </summary>
17
17
internal static partial class OpenApiV2Deserializer
18
18
{
19
- private static bool _isBodyOrFormData ;
20
-
21
19
private static readonly FixedFieldMap < OpenApiParameter > _parameterFixedFields =
22
20
new FixedFieldMap < OpenApiParameter >
23
21
{
@@ -232,11 +230,11 @@ private static void ProcessIn(OpenApiParameter o, ParseNode n)
232
230
switch ( value )
233
231
{
234
232
case "body" :
235
- _isBodyOrFormData = true ;
233
+ n . Context . SetTempStorage ( TempStorageKeys . ParameterIsBodyOrFormData , true ) ;
236
234
n . Context . SetTempStorage ( TempStorageKeys . BodyParameter , o ) ;
237
235
break ;
238
236
case "formData" :
239
- _isBodyOrFormData = true ;
237
+ n . Context . SetTempStorage ( TempStorageKeys . ParameterIsBodyOrFormData , true ) ;
240
238
var formParameters = n . Context . GetFromTempStorage < List < OpenApiParameter > > ( "formParameters" ) ;
241
239
if ( formParameters == null )
242
240
{
@@ -265,7 +263,7 @@ public static OpenApiParameter LoadParameter(ParseNode node)
265
263
public static OpenApiParameter LoadParameter ( ParseNode node , bool loadRequestBody )
266
264
{
267
265
// Reset the local variables every time this method is called.
268
- _isBodyOrFormData = false ;
266
+ node . Context . SetTempStorage ( TempStorageKeys . ParameterIsBodyOrFormData , false ) ;
269
267
270
268
var mapNode = node . CheckMapNode ( "parameter" ) ;
271
269
@@ -290,12 +288,13 @@ public static OpenApiParameter LoadParameter(ParseNode node, bool loadRequestBod
290
288
node . Context . SetTempStorage ( "schema" , null ) ;
291
289
}
292
290
293
- if ( _isBodyOrFormData && ! loadRequestBody )
291
+ bool isBodyOrFormData = ( bool ) node . Context . GetFromTempStorage < object > ( TempStorageKeys . ParameterIsBodyOrFormData ) ;
292
+ if ( isBodyOrFormData && ! loadRequestBody )
294
293
{
295
294
return null ; // Don't include Form or Body parameters when normal parameters are loaded.
296
295
}
297
296
298
- if ( loadRequestBody && ! _isBodyOrFormData )
297
+ if ( loadRequestBody && ! isBodyOrFormData )
299
298
{
300
299
return null ; // Don't include non-Body or non-Form parameters when request bodies are loaded.
301
300
}
0 commit comments