diff --git a/BTCPayServer/Controllers/ErrorController.cs b/BTCPayServer/Controllers/ErrorController.cs
index b41232480..94b5b7aca 100644
--- a/BTCPayServer/Controllers/ErrorController.cs
+++ b/BTCPayServer/Controllers/ErrorController.cs
@@ -13,7 +13,7 @@ namespace BTCPayServer.Controllers
{
if (statusCode.HasValue)
{
- var specialPages = new[] { 404, 429, 500 };
+ var specialPages = new[] { 404, 406, 417, 429, 500, 502 };
if (specialPages.Any(a => a == statusCode.Value))
{
var viewName = statusCode.ToString();
diff --git a/BTCPayServer/Views/Error/404.cshtml b/BTCPayServer/Views/Error/404.cshtml
index 5d4d9d82b..fa3499a04 100644
--- a/BTCPayServer/Views/Error/404.cshtml
+++ b/BTCPayServer/Views/Error/404.cshtml
@@ -1,39 +1,14 @@
@{
+ Layout = "_LayoutError";
ViewData["Title"] = "404 - Page not found";
}
-
-
-
-
-
-
-
@ViewData["Title"]
-
-
-
-
-
-
-
-
- This is like searching for a person more beautiful than Nicolas Dorier .
-
-
-
-
-
- It doesn't exist.
-
- You can always try navigating back to home .
-
-
-
-
-
-
-
+This is like searching for a person more beautiful than Nicolas Dorier .
+
+
+
+
+
+It doesn't exist.
+
+You can always try navigating back to home .
diff --git a/BTCPayServer/Views/Error/406.cshtml b/BTCPayServer/Views/Error/406.cshtml
new file mode 100644
index 000000000..927d88a66
--- /dev/null
+++ b/BTCPayServer/Views/Error/406.cshtml
@@ -0,0 +1,22 @@
+@{
+ Layout = "_LayoutError";
+ ViewData["Title"] = "406 - Not Acceptable";
+}
+
+Sorry, but our server can't service you.
+Either set proper `Accept` header in HTTP request or find a new server.
+
+
+
+
+
+
+
+
+
+
+
+ Jack invites you to learn how Bitcoin fixes this™
+
+
+
diff --git a/BTCPayServer/Views/Error/417.cshtml b/BTCPayServer/Views/Error/417.cshtml
new file mode 100644
index 000000000..a225207fa
--- /dev/null
+++ b/BTCPayServer/Views/Error/417.cshtml
@@ -0,0 +1,12 @@
+@{
+ Layout = "_LayoutError";
+ ViewData["Title"] = "417 - Expectation Failed";
+}
+
+You've unfortunately failed expectations of manager Pavlenex . Poor you.
+
+
+
+
+
+Check your request `Except` header and do better.
diff --git a/BTCPayServer/Views/Error/429.cshtml b/BTCPayServer/Views/Error/429.cshtml
index 24205a7dd..ca9f3850c 100644
--- a/BTCPayServer/Views/Error/429.cshtml
+++ b/BTCPayServer/Views/Error/429.cshtml
@@ -1,39 +1,14 @@
@{
+ Layout = "_LayoutError";
ViewData["Title"] = "429 - Too Many Requests";
}
-
-
-
-
-
-
-
@ViewData["Title"]
-
-
-
-
-
-
-
-
- Please send requests slower. Or face the wrath of Vin Diesel .
-
-
-
-
-
- You sure you want to risk that?
-
- Slowly navigate back to home .
-
-
-
-
-
-
-
+Please send requests slower. Or face the wrath of Vin Diesel .
+
+
+
+
+
+You sure you want to risk that?
+
+Slowly navigate back to home .
diff --git a/BTCPayServer/Views/Error/500.cshtml b/BTCPayServer/Views/Error/500.cshtml
index 4a6897838..151ecae12 100644
--- a/BTCPayServer/Views/Error/500.cshtml
+++ b/BTCPayServer/Views/Error/500.cshtml
@@ -1,39 +1,14 @@
@{
+ Layout = "_LayoutError";
ViewData["Title"] = "500 - Internal Server Error";
}
-
-
-
-
-
-
-
@ViewData["Title"]
-
-
-
-
-
-
-
-
- Whoops, something really went wrong! Mr Kukks is so sorry.
-
-
-
-
-
- Consult server log and consider submitting issue on BTCPayServer GitHub.
-
- Navigate back to home .
-
-
-
-
-
-
-
+Whoops, something really went wrong! Mr Kukks is so sorry.
+
+
+
+
+
+Consult server log and consider submitting issue on BTCPayServer GitHub.
+
+Navigate back to home .
diff --git a/BTCPayServer/Views/Error/502.cshtml b/BTCPayServer/Views/Error/502.cshtml
new file mode 100644
index 000000000..7095e07d7
--- /dev/null
+++ b/BTCPayServer/Views/Error/502.cshtml
@@ -0,0 +1,13 @@
+@{
+ Layout = "_LayoutError";
+ ViewData["Title"] = "502 - Bad Gateway";
+}
+
+The life is all about finding the right Gateways.
+Unfortunately, this time you've found a bad one.
+
+
+
+
+
+Maybe Gateway Tzar Miles can help you out?
diff --git a/BTCPayServer/Views/Error/_LayoutError.cshtml b/BTCPayServer/Views/Error/_LayoutError.cshtml
new file mode 100644
index 000000000..a85a784f4
--- /dev/null
+++ b/BTCPayServer/Views/Error/_LayoutError.cshtml
@@ -0,0 +1,31 @@
+@{
+ Layout = "_LayoutSimple";
+}
+
+
+
+
+
+
+
+
@ViewData["Title"]
+
+
+
+
+
+
+
+
+ @RenderBody()
+
+
+
+
+
+
+
diff --git a/BTCPayServer/wwwroot/img/errorpages/406_jack.jpg b/BTCPayServer/wwwroot/img/errorpages/406_jack.jpg
new file mode 100644
index 000000000..17fd5d76e
Binary files /dev/null and b/BTCPayServer/wwwroot/img/errorpages/406_jack.jpg differ
diff --git a/BTCPayServer/wwwroot/img/errorpages/417_pavlenex.png b/BTCPayServer/wwwroot/img/errorpages/417_pavlenex.png
new file mode 100644
index 000000000..d37749e5f
Binary files /dev/null and b/BTCPayServer/wwwroot/img/errorpages/417_pavlenex.png differ
diff --git a/BTCPayServer/wwwroot/img/errorpages/502_milessuter.jpg b/BTCPayServer/wwwroot/img/errorpages/502_milessuter.jpg
new file mode 100644
index 000000000..77ea3a473
Binary files /dev/null and b/BTCPayServer/wwwroot/img/errorpages/502_milessuter.jpg differ