Browse Source

Handle tasks.json by a controller

mj-deploy
Standa Lukeš 4 years ago
parent
commit
10ef0fc4e4
  1. 31
      server/Ksp.WebServer/Controllers/TasksController.cs
  2. 39
      server/Ksp.WebServer/Controllers/WeatherForecastController.cs
  3. 15
      server/Ksp.WebServer/WeatherForecast.cs

31
server/Ksp.WebServer/Controllers/TasksController.cs

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
namespace Ksp.WebServer.Controllers
{
[ApiController]
[Route("tasks.json")]
public class TasksController : ControllerBase
{
private readonly ILogger<TasksController> logger;
private readonly IWebHostEnvironment env;
public TasksController(ILogger<TasksController> logger, IWebHostEnvironment env)
{
this.env = env;
this.logger = logger;
}
[HttpGet]
public IActionResult Get()
{
return this.PhysicalFile(Path.Combine(env.ContentRootPath, "../../tasks.json"), "text/json");
}
}
}

39
server/Ksp.WebServer/Controllers/WeatherForecastController.cs

@ -1,39 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
namespace Ksp.WebServer.Controllers
{
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
var rng = new Random();
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = rng.Next(-20, 55),
Summary = Summaries[rng.Next(Summaries.Length)]
})
.ToArray();
}
}
}

15
server/Ksp.WebServer/WeatherForecast.cs

@ -1,15 +0,0 @@
using System;
namespace Ksp.WebServer
{
public class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
public string Summary { get; set; }
}
}