Skip to content

Commit 7f4674e

Browse files
committed
Moved V3 example parsing into OpenApiResponseDeserializer
1 parent 2f9acda commit 7f4674e

File tree

4 files changed

+32
-146
lines changed

4 files changed

+32
-146
lines changed

src/Microsoft.OpenApi.Readers/V2/OpenApiExampleDeserializer.cs

Lines changed: 0 additions & 50 deletions
This file was deleted.

src/Microsoft.OpenApi.Readers/V2/OpenApiOAuthFlowDeserializer.cs

Lines changed: 0 additions & 48 deletions
This file was deleted.

src/Microsoft.OpenApi.Readers/V2/OpenApiOAuthFlowsDeserializer.cs

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/Microsoft.OpenApi.Readers/V2/OpenApiResponseDeserializer.cs

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ internal static partial class OpenApiV2Deserializer
3333
{
3434
"examples", (o, n) =>
3535
{
36-
OpenApiV2Deserializer.LoadExamples(o,n);
36+
LoadExamples(o,n);
3737
}
3838
},
3939
{
@@ -72,6 +72,37 @@ private static void ProcessProduces(OpenApiResponse response, ParsingContext con
7272
}
7373
}
7474

75+
private static void LoadExamples(OpenApiResponse response, ParseNode node)
76+
{
77+
var mapNode = node.CheckMapNode("examples");
78+
foreach (var mediaTypeNode in mapNode)
79+
{
80+
LoadExample(response, mediaTypeNode.Name, mediaTypeNode.Value);
81+
}
82+
}
83+
84+
private static void LoadExample(OpenApiResponse response, string mediaType, ParseNode node)
85+
{
86+
var exampleNode = node.CreateAny();
87+
88+
if (response.Content == null)
89+
{
90+
response.Content = new Dictionary<string, OpenApiMediaType>();
91+
}
92+
OpenApiMediaType mediaTypeObject;
93+
if (response.Content.ContainsKey(mediaType))
94+
{
95+
mediaTypeObject = response.Content[mediaType];
96+
}
97+
else
98+
{
99+
mediaTypeObject = new OpenApiMediaType();
100+
response.Content.Add(mediaType, mediaTypeObject);
101+
}
102+
mediaTypeObject.Example = exampleNode;
103+
104+
}
105+
75106
public static OpenApiResponse LoadResponse(ParseNode node)
76107
{
77108
var mapNode = node.CheckMapNode("response");

0 commit comments

Comments
 (0)