From df652c5cbe8b040ebadeade9f548eea97f0edc1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominic=20Kr=C3=A4mer?= <dominicdaniel3107@gmail.com>
Date: Fri, 21 Jun 2024 00:42:31 +0200
Subject: [PATCH] add exceptions for failed connection

---
 app/app.py                        |  9 +++++++--
 app/static/javascript/frontend.js | 11 +++++++++++
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/app/app.py b/app/app.py
index 2bd6fad..c9cf6a5 100644
--- a/app/app.py
+++ b/app/app.py
@@ -14,9 +14,14 @@ def home():
 def sendmessage():
     message = request.form['message']
     print(message)
-    rasa_response = requests.post('http://localhost:5005/webhooks/rest/webhook', json={"message": message})
-
     responses = []
+    try:
+        rasa_response = requests.post('http://localhost:5005/webhooks/rest/webhook', json={"message": message})
+    except Exception as e:
+        print(f"error: {e}")
+        responses.append({"type": "text", "content": "Oh, it appears that I'm not availabe. Please try again later!"})
+        return jsonify(responses)
+
     for resp in rasa_response.json():
         if "text" in resp:
             responses.append({"type": "text", "content": resp["text"]})
diff --git a/app/static/javascript/frontend.js b/app/static/javascript/frontend.js
index 7f95fb7..4e38dea 100644
--- a/app/static/javascript/frontend.js
+++ b/app/static/javascript/frontend.js
@@ -34,6 +34,17 @@ function sendMessage() {
             chat.insertBefore(newDiv, chat.firstChild);
 
             // document.getElementById("chat").appendChild(newDiv);
+        })
+        .catch((error) => {
+            console.error(error);
+            let newDiv = document.createElement("div");
+            newDiv.className = "message-bot";
+
+            let newP = document.createElement("p");
+            newP.textContent = "Oh, it appears that I'm not availabe. Please check your internet connection!";
+            newDiv.appendChild(newP);
+            let chat = document.getElementById("chat");
+            chat.insertBefore(newDiv, chat.firstChild);
         });
     }
 };
-- 
GitLab