- {% if counts %}
+ {% if is_api_down %}
@@ -24,24 +24,8 @@ import usaButton %} {% block meta %}
{% endif %}
{% block content %}
- {% if counts %}
-
-
-
-
 }})
-
-
-
- There's currently a technical issue.
-
-
Thank you for your patience while we work on it. Notify will be back soon.
-
-
-
-
+ {% if is_api_down %}
+ {% include "error/technical_difficulties.html" %}
{% endif %}
diff --git a/app/utils/api_health.py b/app/utils/api_health.py
new file mode 100644
index 000000000..c75fef5da
--- /dev/null
+++ b/app/utils/api_health.py
@@ -0,0 +1,13 @@
+import os
+
+import requests
+from requests.exceptions import RequestException
+
+
+def is_api_down():
+ api_base_url = os.getenv("API_BASE_URL", "http://localhost:6011")
+ try:
+ response = requests.get(api_base_url, timeout=2)
+ return response.status_code != 200
+ except RequestException:
+ return True
diff --git a/notifications_utils/markdown.py b/notifications_utils/markdown.py
index 43e7059b2..57d35ba43 100644
--- a/notifications_utils/markdown.py
+++ b/notifications_utils/markdown.py
@@ -1,8 +1,10 @@
-from flask import current_app
-import mistune
-from notifications_utils.formatters import create_sanitised_html_for_url
-import re
import html
+import re
+
+import mistune
+from flask import current_app
+
+from notifications_utils.formatters import create_sanitised_html_for_url
LINK_STYLE = "word-wrap: break-word; color: #1D70B8;"