using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; namespace Lux.API.Controllers { [ApiController] [Route("api/[controller]")] public class JwdController : ControllerBase { #region Public Constructors public JwdController(ILogger logger) { _logger = logger; } #endregion Public Constructors #region Public Methods /// /// Chiamata POST: riceve Json in formato JwdDto, restituisce jpeg file /// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000 /// /// token comunicazione /// [HttpPost("jpegfile/{id}")] public async Task jpegFile(string id, [FromBody] Lux.Core.RestPayload.JwdDTO currJwd) { // finta attesa/elaborazione await Task.Delay(waitDelay); // path immagine finto... string fakeImagePath = "DemoImg/Window01.jpg"; var imageBytes = await System.IO.File.ReadAllBytesAsync(fakeImagePath); return File(imageBytes, "image/jpeg"); } /// /// Chiamata POST: riceve Json in formato JwdDto, restituisce png file /// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000 /// /// token comunicazione /// [HttpPost("pngfile/{id}")] public async Task pngFile(string id, [FromBody] Core.RestPayload.JwdDTO currJwd) { // finta attesa/elaborazione await Task.Delay(waitDelay); // path immagine finto... string fakeImagePath = "DemoImg/Window01.png"; var imageBytes = await System.IO.File.ReadAllBytesAsync(fakeImagePath); return File(imageBytes, "image/png"); } /// /// Chiamata POST: riceve Json in formato JwdDto, restituisce svg file /// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000 /// /// token comunicazione /// [HttpPost("svgfile/{id}")] public async Task svgFile(string id, [FromBody] Core.RestPayload.JwdDTO currJwd) { // finta attesa/elaborazione await Task.Delay(waitDelay); // path immagine finto... string fakeImagePath = "DemoImg/Window01.svg"; var svgContent = await System.IO.File.ReadAllTextAsync(fakeImagePath); var bytes = System.Text.Encoding.UTF8.GetBytes(svgContent); return File(bytes, "image/svg+xml"); } /// /// Chiamata POST: riceve Json in formato JwdDto, restituisce svg come string /// PUT: api/Jwd/svg/00000000-0000-0000-0000-000000000000 /// /// token comunicazione /// [HttpPost("svg/{id}")] public async Task> svgString(string id, [FromBody] Core.RestPayload.JwdDTO currJwd) { // finta attesa/elaborazione await Task.Delay(waitDelay); // path immagine finto... string fakeImagePath = "DemoImg/Window01.svg"; var svgContent = await System.IO.File.ReadAllTextAsync(fakeImagePath); return Ok(svgContent); } #endregion Public Methods #region Private Fields private readonly ILogger _logger; private int waitDelay = 250; #endregion Private Fields } }