From df65299b34981e45798160cb0fcbca413c243898 Mon Sep 17 00:00:00 2001 From: Maggie Kimani Date: Wed, 24 Aug 2022 12:05:08 +0300 Subject: [PATCH 1/3] Cater for file content transferred with base64 encoding --- src/Microsoft.OpenApi/Models/OpenApiOperation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs index ba0af7317..9b32934c2 100644 --- a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs +++ b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs @@ -255,7 +255,7 @@ public void SerializeAsV2(IOpenApiWriter writer) { var paramName = property.Key; var paramSchema = property.Value; - if (paramSchema.Type == "string" && paramSchema.Format == "binary") { + if (paramSchema.Type == "string" && paramSchema.Format == "binary" || paramSchema.Format == "base64") { paramSchema.Type = "file"; paramSchema.Format = null; } From 9b8e16b5d19f8fae7fb7b08b953276a0e6dfba4f Mon Sep 17 00:00:00 2001 From: Maggie Kimani Date: Wed, 24 Aug 2022 14:58:02 +0300 Subject: [PATCH 2/3] Add braces to the conditional statement --- src/Microsoft.OpenApi/Models/OpenApiOperation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs index 9b32934c2..d2f8dec07 100644 --- a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs +++ b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs @@ -255,7 +255,7 @@ public void SerializeAsV2(IOpenApiWriter writer) { var paramName = property.Key; var paramSchema = property.Value; - if (paramSchema.Type == "string" && paramSchema.Format == "binary" || paramSchema.Format == "base64") { + if (paramSchema.Type == "string" && (paramSchema.Format == "binary" || paramSchema.Format == "base64")) { paramSchema.Type = "file"; paramSchema.Format = null; } From 6d7f73592af60e598a322d37db07259691986954 Mon Sep 17 00:00:00 2001 From: Maggie Kimani Date: Mon, 29 Aug 2022 10:40:52 +0300 Subject: [PATCH 3/3] Update string comparison logic --- src/Microsoft.OpenApi/Models/OpenApiOperation.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs index d2f8dec07..7983a243e 100644 --- a/src/Microsoft.OpenApi/Models/OpenApiOperation.cs +++ b/src/Microsoft.OpenApi/Models/OpenApiOperation.cs @@ -253,9 +253,11 @@ public void SerializeAsV2(IOpenApiWriter writer) { foreach (var property in RequestBody.Content.First().Value.Schema.Properties) { - var paramName = property.Key; var paramSchema = property.Value; - if (paramSchema.Type == "string" && (paramSchema.Format == "binary" || paramSchema.Format == "base64")) { + if ("string".Equals(paramSchema.Type, StringComparison.OrdinalIgnoreCase) + && ("binary".Equals(paramSchema.Format, StringComparison.OrdinalIgnoreCase) + || "base64".Equals(paramSchema.Format, StringComparison.OrdinalIgnoreCase))) + { paramSchema.Type = "file"; paramSchema.Format = null; }