summary refs log tree commit diff
path: root/SystemdCtl/Components/Pages/Error.razor
diff options
context:
space:
mode:
Diffstat (limited to 'SystemdCtl/Components/Pages/Error.razor')
-rw-r--r--SystemdCtl/Components/Pages/Error.razor36
1 files changed, 36 insertions, 0 deletions
diff --git a/SystemdCtl/Components/Pages/Error.razor b/SystemdCtl/Components/Pages/Error.razor
new file mode 100644
index 0000000..7a84043
--- /dev/null
+++ b/SystemdCtl/Components/Pages/Error.razor
@@ -0,0 +1,36 @@
+@page "/Error"

+@using System.Diagnostics

+

+<PageTitle>Error</PageTitle>

+

+<h1 class="text-danger">Error.</h1>

+<h2 class="text-danger">An error occurred while processing your request.</h2>

+

+@if (ShowRequestId)

+{

+    <p>

+        <strong>Request ID:</strong> <code>@RequestId</code>

+    </p>

+}

+

+<h3>Development Mode</h3>

+<p>

+    Swapping to <strong>Development</strong> environment will display more 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>

+

+@code{

+    [CascadingParameter]

+    private HttpContext? HttpContext { get; set; }

+

+    private string? RequestId { get; set; }

+    private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);

+

+    protected override void OnInitialized() =>

+        RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;

+}