diff options
Diffstat (limited to 'MatrixRoomUtils.Web.Server')
-rw-r--r-- | MatrixRoomUtils.Web.Server/MatrixRoomUtils.Web.Server.csproj | 23 | ||||
-rw-r--r-- | MatrixRoomUtils.Web.Server/Pages/Error.cshtml | 42 | ||||
-rw-r--r-- | MatrixRoomUtils.Web.Server/Pages/Error.cshtml.cs | 26 | ||||
-rw-r--r-- | MatrixRoomUtils.Web.Server/Program.cs | 36 | ||||
-rw-r--r-- | MatrixRoomUtils.Web.Server/Properties/launchSettings.json | 40 | ||||
-rw-r--r-- | MatrixRoomUtils.Web.Server/appsettings.Development.json | 8 | ||||
-rw-r--r-- | MatrixRoomUtils.Web.Server/appsettings.json | 9 |
7 files changed, 184 insertions, 0 deletions
diff --git a/MatrixRoomUtils.Web.Server/MatrixRoomUtils.Web.Server.csproj b/MatrixRoomUtils.Web.Server/MatrixRoomUtils.Web.Server.csproj new file mode 100644 index 0000000..014df56 --- /dev/null +++ b/MatrixRoomUtils.Web.Server/MatrixRoomUtils.Web.Server.csproj @@ -0,0 +1,23 @@ +<Project Sdk="Microsoft.NET.Sdk.Web"> + + <PropertyGroup> + <TargetFramework>net7.0</TargetFramework> + <Nullable>enable</Nullable> + <ImplicitUsings>enable</ImplicitUsings> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="7.0.3" /> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\MatrixRoomUtils.Web\MatrixRoomUtils.Web.csproj" /> + <ProjectReference Include="..\MatrixRoomUtils.Core\MatrixRoomUtils.Core.csproj" /> + </ItemGroup> + + <ItemGroup> + <Folder Include="Controllers" /> + </ItemGroup> + + +</Project> diff --git a/MatrixRoomUtils.Web.Server/Pages/Error.cshtml b/MatrixRoomUtils.Web.Server/Pages/Error.cshtml new file mode 100644 index 0000000..f5b4396 --- /dev/null +++ b/MatrixRoomUtils.Web.Server/Pages/Error.cshtml @@ -0,0 +1,42 @@ +@page +@model tmp.Server.Pages.ErrorModel + +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> + <title>Error</title> + <link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet" /> + <link href="~/css/app.css" rel="stylesheet" asp-append-version="true" /> +</head> + +<body> + <div class="main"> + <div class="content px-4"> + <h1 class="text-danger">Error.</h1> + <h2 class="text-danger">An error occurred while processing your request.</h2> + + @if (Model.ShowRequestId) + { + <p> + <strong>Request ID:</strong> <code>@Model.RequestId</code> + </p> + } + + <h3>Development Mode</h3> + <p> + Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred. + </p> + <p> + <strong>The Development environment shouldn't be enabled for deployed applications.</strong> + It can result in displaying sensitive information from exceptions to end users. + For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong> + and restarting the app. + </p> + </div> + </div> +</body> + +</html> diff --git a/MatrixRoomUtils.Web.Server/Pages/Error.cshtml.cs b/MatrixRoomUtils.Web.Server/Pages/Error.cshtml.cs new file mode 100644 index 0000000..5627bf0 --- /dev/null +++ b/MatrixRoomUtils.Web.Server/Pages/Error.cshtml.cs @@ -0,0 +1,26 @@ +using System.Diagnostics; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace tmp.Server.Pages; + +[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] +[IgnoreAntiforgeryToken] +public class ErrorModel : PageModel +{ + public string? RequestId { get; set; } + + public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); + + private readonly ILogger<ErrorModel> _logger; + + public ErrorModel(ILogger<ErrorModel> logger) + { + _logger = logger; + } + + public void OnGet() + { + RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; + } +} diff --git a/MatrixRoomUtils.Web.Server/Program.cs b/MatrixRoomUtils.Web.Server/Program.cs new file mode 100644 index 0000000..9808111 --- /dev/null +++ b/MatrixRoomUtils.Web.Server/Program.cs @@ -0,0 +1,36 @@ +using Microsoft.AspNetCore.ResponseCompression; + +var builder = WebApplication.CreateBuilder(args); + +// Add services to the container. + +builder.Services.AddControllersWithViews(); +builder.Services.AddRazorPages(); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseWebAssemblyDebugging(); +} +else +{ + 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.UseHttpsRedirection(); + +app.UseBlazorFrameworkFiles(); +app.UseStaticFiles(); + +app.UseRouting(); + + +app.MapRazorPages(); +app.MapControllers(); +app.MapFallbackToFile("index.html"); + +app.Run(); diff --git a/MatrixRoomUtils.Web.Server/Properties/launchSettings.json b/MatrixRoomUtils.Web.Server/Properties/launchSettings.json new file mode 100644 index 0000000..3dcf07b --- /dev/null +++ b/MatrixRoomUtils.Web.Server/Properties/launchSettings.json @@ -0,0 +1,40 @@ +{ + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:6314", + "sslPort": 44318 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "http://localhost:5167", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "https://localhost:7235;http://localhost:5167", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } + } diff --git a/MatrixRoomUtils.Web.Server/appsettings.Development.json b/MatrixRoomUtils.Web.Server/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/MatrixRoomUtils.Web.Server/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/MatrixRoomUtils.Web.Server/appsettings.json b/MatrixRoomUtils.Web.Server/appsettings.json new file mode 100644 index 0000000..10f68b8 --- /dev/null +++ b/MatrixRoomUtils.Web.Server/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} |