From d2eac80930a77b7fde060f7b893d1b1f221f9803 Mon Sep 17 00:00:00 2001 From: Hieromon Ikasamo Date: Thu, 1 Aug 2019 13:05:40 +0900 Subject: [PATCH] Reconsidered the logic --- src/AutoConnectUpdate.cpp | 41 +++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/src/AutoConnectUpdate.cpp b/src/AutoConnectUpdate.cpp index 9295a36..5b43645 100644 --- a/src/AutoConnectUpdate.cpp +++ b/src/AutoConnectUpdate.cpp @@ -525,30 +525,29 @@ void AutoConnectUpdateAct::_progress(void) { switch (_webServer->method()) { case HTTP_POST: - if (_webServer->hasArg(reqOperation)) { - reqOperand = _webServer->arg(reqOperation); + reqOperand = _webServer->arg(reqOperation); + switch (_status) { + case UPDATE_IDLE: if (reqOperand == String(UPDATE_NOTIFY_START)) { - if (_status == UPDATE_IDLE) { - httpCode = 200; - _status = UPDATE_START; - } - else { - payload = String(FPSTR(reply_msg_seq)); - httpCode = 500; - } + httpCode = 200; + _status = UPDATE_START; } - else if (reqOperand == String(UPDATE_NOTIFY_REBOOT)) { - if (_status == UPDATE_SUCCESS) { - _status = UPDATE_RESET; - httpCode = 200; - } - else { - payload = String(FPSTR(reply_msg_seq)); - httpCode = 500; - } + else { + payload = String(FPSTR(reply_msg_seq)); + httpCode = 500; } - } - else { + break; + case UPDATE_SUCCESS: + if (reqOperand == String(UPDATE_NOTIFY_REBOOT)) { + _status = UPDATE_RESET; + httpCode = 200; + } + else { + payload = String(FPSTR(reply_msg_seq)); + httpCode = 500; + } + break; + default: payload = String(FPSTR(reply_msg_op)); httpCode = 500; }