1- using System . IO ;
2- using System . Threading ;
3- using System . Threading . Tasks ;
41using ICSharpCode . CodeConverter . Web ;
52using Microsoft . AspNetCore . Http ;
63using Microsoft . AspNetCore . Mvc ;
7- using Microsoft . Azure . WebJobs ;
8- using Microsoft . Azure . WebJobs . Extensions . Http ;
4+ using Microsoft . Azure . Functions . Worker ;
95using Microsoft . Extensions . Logging ;
106using Newtonsoft . Json ;
117
@@ -16,36 +12,38 @@ public class Convert
1612 public const string DefaultRequest = @"{""code"":""Public Class VisualBasicClass\r\n\r\nEnd Class"",""requestedConversion"":""vbnet2cs""}" ;
1713 public const string DefaultConversion = "\r \n public partial class VisualBasicClass\r \n {\r \n \r \n }" ;
1814
19- private readonly ILoggerFactory _loggerFactory ;
15+ private readonly ILogger < Convert > _logger ;
2016
21- public Convert ( ILoggerFactory loggerFactory )
17+ public Convert ( ILogger < Convert > logger )
2218 {
23- _loggerFactory = loggerFactory ;
19+ _logger = logger ;
2420 }
2521
2622 //
2723 // Sample data: {"code":"Public Class VisualBasicClass\r\n\r\nEnd Class","requestedConversion":"vbnet2cs"}
2824 //
29- [ FunctionName ( "Convert" ) ]
30- #pragma warning disable VSTHRD200 // Use "Async" suffix for async methods - Name must be "Run" for this to work AFAIK
31- public async Task < IActionResult > Run (
32- [ HttpTrigger ( AuthorizationLevel . Anonymous , "post" , Route = null ) ] HttpRequest req ,
33- CancellationToken hostCancellationToken )
25+ [ Function ( "Convert" ) ]
26+ #pragma warning disable VSTHRD200 // Use "Async" suffix for async methods
27+ public async Task < IActionResult > Run ( [ HttpTrigger ( AuthorizationLevel . Anonymous , "post" ) ] HttpRequest req ,
3428#pragma warning restore VSTHRD200 // Use "Async" suffix for async methods
29+ CancellationToken hostCancellationToken )
3530 {
36- var logger = _loggerFactory . CreateLogger < Convert > ( ) ;
3731 string requestBody = await new StreamReader ( req . Body ) . ReadToEndAsync ( ) ;
3832
3933 if ( 0 == string . CompareOrdinal ( requestBody , DefaultRequest ) ) {
40- logger . LogInformation ( "Short-circuiting for default conversion request" ) ;
34+ _logger . LogInformation ( "Short-circuiting for default conversion request" ) ;
4135 return new OkObjectResult ( new ConvertResponse ( true , DefaultConversion , "" ) ) ;
4236 }
4337
4438 var data = JsonConvert . DeserializeObject < ConvertRequest > ( requestBody ) ;
4539
40+ if ( null == data ) {
41+ return new BadRequestResult ( ) ;
42+ }
43+
4644 using var cancellationSource = CancellationTokenSource . CreateLinkedTokenSource ( hostCancellationToken , req . HttpContext . RequestAborted ) ;
4745 var response = await WebConverter . ConvertAsync ( data , cancellationSource . Token ) ;
4846
4947 return new OkObjectResult ( response ) ;
5048 }
51- }
49+ }
0 commit comments