From 73c11c53e81adfd7c7878b349c871a1d36e69744 Mon Sep 17 00:00:00 2001 From: Maggie Kimani Date: Tue, 26 Sep 2023 10:41:45 +0300 Subject: [PATCH] Add a DefaultContentType setting to OpenApiReaderSettings --- src/Microsoft.OpenApi.Readers/OpenApiReaderSettings.cs | 5 +++++ src/Microsoft.OpenApi.Readers/OpenApiYamlDocumentReader.cs | 3 ++- src/Microsoft.OpenApi.Readers/ParsingContext.cs | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.OpenApi.Readers/OpenApiReaderSettings.cs b/src/Microsoft.OpenApi.Readers/OpenApiReaderSettings.cs index 56001e295..25bcbca6f 100644 --- a/src/Microsoft.OpenApi.Readers/OpenApiReaderSettings.cs +++ b/src/Microsoft.OpenApi.Readers/OpenApiReaderSettings.cs @@ -62,6 +62,11 @@ public class OpenApiReaderSettings /// public Uri BaseUrl { get; set; } + /// + /// Allows clients to define a custom DefaultContentType if produces array is empty + /// + public List DefaultContentType { get; set; } + /// /// Function used to provide an alternative loader for accessing external references. /// diff --git a/src/Microsoft.OpenApi.Readers/OpenApiYamlDocumentReader.cs b/src/Microsoft.OpenApi.Readers/OpenApiYamlDocumentReader.cs index 5b87ab7ae..4a120cbbf 100644 --- a/src/Microsoft.OpenApi.Readers/OpenApiYamlDocumentReader.cs +++ b/src/Microsoft.OpenApi.Readers/OpenApiYamlDocumentReader.cs @@ -47,7 +47,8 @@ public OpenApiDocument Read(YamlDocument input, out OpenApiDiagnostic diagnostic var context = new ParsingContext(diagnostic) { ExtensionParsers = _settings.ExtensionParsers, - BaseUrl = _settings.BaseUrl + BaseUrl = _settings.BaseUrl, + DefaultContentType = _settings.DefaultContentType }; OpenApiDocument document = null; diff --git a/src/Microsoft.OpenApi.Readers/ParsingContext.cs b/src/Microsoft.OpenApi.Readers/ParsingContext.cs index 6c4dece2f..0cd98c67e 100644 --- a/src/Microsoft.OpenApi.Readers/ParsingContext.cs +++ b/src/Microsoft.OpenApi.Readers/ParsingContext.cs @@ -29,6 +29,7 @@ public class ParsingContext internal RootNode RootNode { get; set; } internal List Tags { get; private set; } = new List(); internal Uri BaseUrl { get; set; } + internal List DefaultContentType { get; set; } /// /// Diagnostic object that returns metadata about the parsing process.