Move parsing of serial from web request to separate method
This commit is contained in:
parent
980e847ccb
commit
ea28903761
@ -39,6 +39,7 @@ public:
|
|||||||
static void writeConfig(JsonVariant& retMsg, const WebApiError code = WebApiError::GenericSuccess, const String& message = "Settings saved!");
|
static void writeConfig(JsonVariant& retMsg, const WebApiError code = WebApiError::GenericSuccess, const String& message = "Settings saved!");
|
||||||
|
|
||||||
static bool parseRequestData(AsyncWebServerRequest* request, AsyncJsonResponse* response, JsonDocument& json_document);
|
static bool parseRequestData(AsyncWebServerRequest* request, AsyncJsonResponse* response, JsonDocument& json_document);
|
||||||
|
static uint64_t parseSerialFromRequest(AsyncWebServerRequest* request, String param_name = "inv");
|
||||||
static bool sendJsonResponse(AsyncWebServerRequest* request, AsyncJsonResponse* response, const char* function, const uint16_t line);
|
static bool sendJsonResponse(AsyncWebServerRequest* request, AsyncJsonResponse* response, const char* function, const uint16_t line);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -110,6 +110,16 @@ bool WebApiClass::parseRequestData(AsyncWebServerRequest* request, AsyncJsonResp
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t WebApiClass::parseSerialFromRequest(AsyncWebServerRequest* request, String param_name)
|
||||||
|
{
|
||||||
|
if (request->hasParam(param_name)) {
|
||||||
|
String s = request->getParam(param_name)->value();
|
||||||
|
return strtoll(s.c_str(), NULL, 16);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
bool WebApiClass::sendJsonResponse(AsyncWebServerRequest* request, AsyncJsonResponse* response, const char* function, const uint16_t line)
|
bool WebApiClass::sendJsonResponse(AsyncWebServerRequest* request, AsyncJsonResponse* response, const char* function, const uint16_t line)
|
||||||
{
|
{
|
||||||
bool ret_val = true;
|
bool ret_val = true;
|
||||||
|
|||||||
@ -23,13 +23,7 @@ void WebApiDevInfoClass::onDevInfoStatus(AsyncWebServerRequest* request)
|
|||||||
|
|
||||||
AsyncJsonResponse* response = new AsyncJsonResponse();
|
AsyncJsonResponse* response = new AsyncJsonResponse();
|
||||||
auto& root = response->getRoot();
|
auto& root = response->getRoot();
|
||||||
|
auto serial = WebApi.parseSerialFromRequest(request);
|
||||||
uint64_t serial = 0;
|
|
||||||
if (request->hasParam("inv")) {
|
|
||||||
String s = request->getParam("inv")->value();
|
|
||||||
serial = strtoll(s.c_str(), NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto inv = Hoymiles.getInverterBySerial(serial);
|
auto inv = Hoymiles.getInverterBySerial(serial);
|
||||||
|
|
||||||
if (inv != nullptr) {
|
if (inv != nullptr) {
|
||||||
|
|||||||
@ -22,12 +22,7 @@ void WebApiEventlogClass::onEventlogStatus(AsyncWebServerRequest* request)
|
|||||||
|
|
||||||
AsyncJsonResponse* response = new AsyncJsonResponse();
|
AsyncJsonResponse* response = new AsyncJsonResponse();
|
||||||
auto& root = response->getRoot();
|
auto& root = response->getRoot();
|
||||||
|
auto serial = WebApi.parseSerialFromRequest(request);
|
||||||
uint64_t serial = 0;
|
|
||||||
if (request->hasParam("inv")) {
|
|
||||||
String s = request->getParam("inv")->value();
|
|
||||||
serial = strtoll(s.c_str(), NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
AlarmMessageLocale_t locale = AlarmMessageLocale_t::EN;
|
AlarmMessageLocale_t locale = AlarmMessageLocale_t::EN;
|
||||||
if (request->hasParam("locale")) {
|
if (request->hasParam("locale")) {
|
||||||
|
|||||||
@ -23,13 +23,7 @@ void WebApiGridProfileClass::onGridProfileStatus(AsyncWebServerRequest* request)
|
|||||||
|
|
||||||
AsyncJsonResponse* response = new AsyncJsonResponse();
|
AsyncJsonResponse* response = new AsyncJsonResponse();
|
||||||
auto& root = response->getRoot();
|
auto& root = response->getRoot();
|
||||||
|
auto serial = WebApi.parseSerialFromRequest(request);
|
||||||
uint64_t serial = 0;
|
|
||||||
if (request->hasParam("inv")) {
|
|
||||||
String s = request->getParam("inv")->value();
|
|
||||||
serial = strtoll(s.c_str(), NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto inv = Hoymiles.getInverterBySerial(serial);
|
auto inv = Hoymiles.getInverterBySerial(serial);
|
||||||
|
|
||||||
if (inv != nullptr) {
|
if (inv != nullptr) {
|
||||||
@ -66,13 +60,7 @@ void WebApiGridProfileClass::onGridProfileRawdata(AsyncWebServerRequest* request
|
|||||||
|
|
||||||
AsyncJsonResponse* response = new AsyncJsonResponse();
|
AsyncJsonResponse* response = new AsyncJsonResponse();
|
||||||
auto& root = response->getRoot();
|
auto& root = response->getRoot();
|
||||||
|
auto serial = WebApi.parseSerialFromRequest(request);
|
||||||
uint64_t serial = 0;
|
|
||||||
if (request->hasParam("inv")) {
|
|
||||||
String s = request->getParam("inv")->value();
|
|
||||||
serial = strtoll(s.c_str(), NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
auto inv = Hoymiles.getInverterBySerial(serial);
|
auto inv = Hoymiles.getInverterBySerial(serial);
|
||||||
|
|
||||||
if (inv != nullptr) {
|
if (inv != nullptr) {
|
||||||
|
|||||||
@ -224,14 +224,8 @@ void WebApiWsLiveClass::onLivedataStatus(AsyncWebServerRequest* request)
|
|||||||
std::lock_guard<std::mutex> lock(_mutex);
|
std::lock_guard<std::mutex> lock(_mutex);
|
||||||
AsyncJsonResponse* response = new AsyncJsonResponse();
|
AsyncJsonResponse* response = new AsyncJsonResponse();
|
||||||
auto& root = response->getRoot();
|
auto& root = response->getRoot();
|
||||||
|
|
||||||
auto invArray = root["inverters"].to<JsonArray>();
|
auto invArray = root["inverters"].to<JsonArray>();
|
||||||
|
auto serial = WebApi.parseSerialFromRequest(request);
|
||||||
uint64_t serial = 0;
|
|
||||||
if (request->hasParam("inv")) {
|
|
||||||
String s = request->getParam("inv")->value();
|
|
||||||
serial = strtoll(s.c_str(), NULL, 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (serial > 0) {
|
if (serial > 0) {
|
||||||
auto inv = Hoymiles.getInverterBySerial(serial);
|
auto inv = Hoymiles.getInverterBySerial(serial);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user