add API error handling

This commit is contained in:
Sem van der Hoeven
2023-05-30 10:36:50 +02:00
parent e8fc4e9275
commit a6226ef99a
2 changed files with 19 additions and 3 deletions

View File

@@ -5,6 +5,7 @@ const WebSocket = require("ws");
var last_status = {}; var last_status = {};
var last_image; var last_image;
var received_picture = false; var received_picture = false;
var received_error = false;
app.use(express.static("public")); app.use(express.static("public"));
app.use(express.json()); app.use(express.json());
@@ -32,7 +33,10 @@ ws.on("message", function message(message) {
// console.log("RECEIVED: " + msg.data); // console.log("RECEIVED: " + msg.data);
}); });
ws.on("error", console.error); ws.on("error", function error(err) {
console.error("error: " + err);
received_error = true;
});
// set the view engine to ejs // set the view engine to ejs
app.set("view engine", "ejs"); app.set("view engine", "ejs");
@@ -74,8 +78,12 @@ app.post("/move", function (req, res) {
app.get("/connect", function (req, res) { app.get("/connect", function (req, res) {
console.log("got connect request"); console.log("got connect request");
ws = new WebSocket("ws://10.100.0.40:9001/"); ws = new WebSocket("ws://10.100.0.40:9001/");
while (api_connected == false) { } while (api_connected == false && received_error == false) { }
if (api_connected) {
res.status(200).json({ connected: true }); res.status(200).json({ connected: true });
} else {
res.status(400).json({ connected: false });
}
}); });

View File

@@ -155,6 +155,14 @@
// console.log(status) // console.log(status)
document.getElementById("connectedstatus").innerHTML = "Connected: " + status.connected; document.getElementById("connectedstatus").innerHTML = "Connected: " + status.connected;
} }
} else {
console.log("error");
if (this.responseText.length > 0) {
var status = JSON.parse(this.responseText);
// console.log(status)
document.getElementById("connectedstatus").innerHTML = "Connected: " + status.connected;
}
alert("Could not connect to API!");
} }
}; };
xhr.send(); xhr.send();