From 079f5d3ee9916f3089b17d66883cfac9546c6030 Mon Sep 17 00:00:00 2001 From: Christoph Wille Date: Fri, 5 Aug 2022 07:01:49 +0200 Subject: [PATCH] Do not run default code from UI against real converter to save on execution costs --- Func/Convert.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Func/Convert.cs b/Func/Convert.cs index 81b7b6b2a..8073671b4 100644 --- a/Func/Convert.cs +++ b/Func/Convert.cs @@ -13,6 +13,9 @@ namespace ICSharpCode.CodeConverter.Func; public class Convert { + public const string DefaultRequest = @"{""code"":""Public Class VisualBasicClass\r\n\r\nEnd Class"",""requestedConversion"":""vbnet2cs""}"; + public const string DefaultConversion = "\r\npublic partial class VisualBasicClass\r\n{\r\n\r\n}"; + private readonly ILoggerFactory _loggerFactory; public Convert(ILoggerFactory loggerFactory) @@ -32,6 +35,12 @@ public async Task Run( { var logger = _loggerFactory.CreateLogger(); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); + + if (0 == string.CompareOrdinal(requestBody, DefaultRequest)) { + logger.LogInformation("Short-circuiting for default conversion request"); + return new OkObjectResult(new ConvertResponse(true, DefaultConversion, "")); + } + var data = JsonConvert.DeserializeObject(requestBody); using var cancellationSource = CancellationTokenSource.CreateLinkedTokenSource(hostCancellationToken, req.HttpContext.RequestAborted);