From bc2654ce9edd8184aac1e030918cfe860579bd43 Mon Sep 17 00:00:00 2001 From: Robert Stein Date: Mon, 14 Dec 2020 18:09:45 +0100 Subject: [PATCH] Bugfix --- src/Clients/KlipperClient.cpp | 12 ++++++++++++ src/Network/JsonRequestClient.cpp | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/Clients/KlipperClient.cpp b/src/Clients/KlipperClient.cpp index 05cd3bd..2abbed1 100644 --- a/src/Clients/KlipperClient.cpp +++ b/src/Clients/KlipperClient.cpp @@ -52,6 +52,18 @@ void KlipperClient::getPrinterJobResults() { bufferSize, true ); + if (this->jsonRequestClient->getLastError() != "") { + this->debugController->printLn(this->jsonRequestClient->getLastError()); + printerData.error = this->jsonRequestClient->getLastError(); + printerData.state = ""; + printerData.isPrinting = false; + printerData.toolTemp = ""; + printerData.toolTargetTemp = ""; + printerData.bedTemp = ""; + printerData.bedTargetTemp = ""; + return; + } + printerData.state = (const char*)(*jsonDoc)["result"]["status"]["print_stats"]["state"]; printerData.filamentLength = (const char*)(*jsonDoc)["result"]["status"]["job"]["print_stats"]["filament_used"]; printerData.progressPrintTime = (const char*)(*jsonDoc)["result"]["status"]["print_stats"]["print_duration"]; diff --git a/src/Network/JsonRequestClient.cpp b/src/Network/JsonRequestClient.cpp index 1c4d920..3d7c16d 100644 --- a/src/Network/JsonRequestClient.cpp +++ b/src/Network/JsonRequestClient.cpp @@ -103,6 +103,7 @@ DynamicJsonDocument *JsonRequestClient::requestJson( this->resetLastError(); WiFiClient reqClient = this->requestWifiClient(requestType, server, port, encodedAuth, httpPath, apiPostBody); if ((this->lastError != "") || !withResponse) { + reqClient.stop(); return NULL; } @@ -112,6 +113,7 @@ DynamicJsonDocument *JsonRequestClient::requestJson( if (error) { this->debugController->printLn("Data Parsing failed: " + server + ":" + String(port) + "[" + error.c_str() + "]"); this->lastError = "Data Parsing failed: " + server + ":" + String(port); + reqClient.stop(); return NULL; } reqClient.stop();