diff --git a/Controllers/HomeController.cs b/Controllers/HomeController.cs index 1894b76..7a2dc14 100644 --- a/Controllers/HomeController.cs +++ b/Controllers/HomeController.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Hosting.StaticWebAssets; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Net; using System.Net.Http.Headers; @@ -29,14 +30,17 @@ namespace yaflay.ru.Новая_папка return null; } } + // GET: HomeController/Details/5 - [HttpGet("/{uri}")] + [HttpGet("/r/{uri}")] public async Task fromGitHub(string? uri) { - if (uri == null) { return View("Index.cshtml"); } + + if (uri == "Robots.txt") { return Ok("User-Agent: * \n Disallow: \"/*\""); } + string? url = await getUrlFromGit(uri); - return Redirect(url != null ? url : "https://yaflay.ru/"); + return Redirect(url != null ? url : uri); } // GET: HomeController/Create diff --git a/Pages/Index.cshtml.cs b/Pages/Index.cshtml.cs index 240ffb4..d03d3d2 100644 --- a/Pages/Index.cshtml.cs +++ b/Pages/Index.cshtml.cs @@ -10,11 +10,13 @@ namespace yaflay.ru.Pages public IndexModel(ILogger logger) { _logger = logger; + } public void OnGet() { - + Page(); } + } } \ No newline at end of file diff --git a/Program.cs b/Program.cs index 7340780..dd447af 100644 --- a/Program.cs +++ b/Program.cs @@ -1,28 +1,17 @@ -var builder = WebApplication.CreateBuilder(args); - -// Add services to the container. -builder.Services.AddRazorPages(); - -var app = builder.Build(); - -// Configure the HTTP request pipeline. -if (!app.Environment.IsDevelopment()) +using Microsoft.AspNetCore.Hosting; +using yaflay.ru; +public class Program { - app.UseExceptionHandler("/Error"); - // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. - app.UseHsts(); -} -app.UseRouting(); -app.UseHttpsRedirection(); -app.UseStaticFiles(); -app.UseEndpoints(endpoints => -{ - endpoints.MapControllers(); -}); -app.UseRouting(); + public static void Main() => CreateHostBuilder() + .Build() + .Run(); + private static IHostBuilder CreateHostBuilder() + { + return Host.CreateDefaultBuilder() + .ConfigureWebHost(webHost => { + webHost.UseStartup(); + webHost.UseKestrel(kestrelOptions => { kestrelOptions.ListenAnyIP(80); }); + }); -app.UseAuthorization(); - -app.MapRazorPages(); - -app.Run(); + } +} \ No newline at end of file diff --git a/Startup.cs b/Startup.cs new file mode 100644 index 0000000..65aeca3 --- /dev/null +++ b/Startup.cs @@ -0,0 +1,49 @@ +using Microsoft.Extensions.Options; + +namespace yaflay.ru +{ + public class Startup + { + private readonly IConfiguration configuration; + public Startup() + { + configuration = new ConfigurationBuilder() + .AddEnvironmentVariables(prefix: "m.") + .AddJsonFile("appsettings.json", optional: true) + .Build(); + } + public void ConfigureServices(IServiceCollection services) + { + services.AddControllers(); + services.AddRazorPages(k => { k.RootDirectory = "/Pages"; }); + services.AddControllersWithViews(); + services.AddDirectoryBrowser(); + + + + } + + public void Configure(IApplicationBuilder app, IWebHostEnvironment env) + { + // Add services to the container. + // app.Services.AddRazorPages(); + + + // Configure the HTTP request pipeline. + + app.UseStaticFiles(); + + + app.UseRouting(); + + app.UseAuthorization(); + + + app.UseEndpoints(endpoints => + { + endpoints.MapRazorPages(); + }); + + } + } +}