Skip to content

Commit 32b373f

Browse files
authored
Merge pull request #560 from /issues/513
Added support for parsing extensions in externaldocs
2 parents 612fa81 + 8ba8192 commit 32b373f

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// Licensed under the MIT license.
33

44
using System;
5+
using Microsoft.OpenApi.Extensions;
56
using Microsoft.OpenApi.Models;
67
using Microsoft.OpenApi.Readers.ParseNodes;
78

@@ -31,7 +32,10 @@ internal static partial class OpenApiV2Deserializer
3132
};
3233

3334
private static readonly PatternFieldMap<OpenApiExternalDocs> _externalDocsPatternFields =
34-
new PatternFieldMap<OpenApiExternalDocs>();
35+
new PatternFieldMap<OpenApiExternalDocs> {
36+
37+
{s => s.StartsWith("x-"), (o, p, n) => o.AddExtension(p, LoadExtension(p, n))}
38+
};
3539

3640
public static OpenApiExternalDocs LoadExternalDocs(ParseNode node)
3741
{

src/Microsoft.OpenApi.Readers/V3/OpenApiExternalDocsDeserializer.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// Licensed under the MIT license.
33

44
using System;
5+
using Microsoft.OpenApi.Extensions;
56
using Microsoft.OpenApi.Models;
67
using Microsoft.OpenApi.Readers.ParseNodes;
78

@@ -31,10 +32,13 @@ internal static partial class OpenApiV3Deserializer
3132
},
3233
};
3334

34-
private static readonly PatternFieldMap<OpenApiExternalDocs> _externalDocsPatternFields =
35-
new PatternFieldMap<OpenApiExternalDocs>();
35+
private static readonly PatternFieldMap<OpenApiExternalDocs> _externalDocsPatternFields =
36+
new PatternFieldMap<OpenApiExternalDocs> {
3637

37-
public static OpenApiExternalDocs LoadExternalDocs(ParseNode node)
38+
{s => s.StartsWith("x-"), (o, p, n) => o.AddExtension(p, LoadExtension(p, n))}
39+
};
40+
41+
public static OpenApiExternalDocs LoadExternalDocs(ParseNode node)
3842
{
3943
var mapNode = node.CheckMapNode("externalDocs");
4044

0 commit comments

Comments
 (0)