From b4712db4aec3a09a39276566559a07c80e4ed9ed Mon Sep 17 00:00:00 2001 From: proddy Date: Thu, 12 Sep 2024 17:54:17 +0200 Subject: [PATCH] remove /rest/fetchLog --- interface/src/api/system.ts | 1 - interface/src/app/status/SystemLog.tsx | 24 +++++++++--------------- mock-api/rest_server.ts | 4 ---- src/web/WebLogService.cpp | 15 +++++---------- src/web/WebLogService.h | 2 -- 5 files changed, 14 insertions(+), 32 deletions(-) diff --git a/interface/src/api/system.ts b/interface/src/api/system.ts index 0b550c307..6585a0b85 100644 --- a/interface/src/api/system.ts +++ b/interface/src/api/system.ts @@ -15,7 +15,6 @@ export const readLogSettings = () => alovaInstance.Get(`/rest/logSettings`); export const updateLogSettings = (data: LogSettings) => alovaInstance.Post('/rest/logSettings', data); -export const fetchLog = () => alovaInstance.Post('/rest/fetchLog'); export const fetchLogES = () => alovaInstance.Get('/es/log'); // Get versions from github diff --git a/interface/src/app/status/SystemLog.tsx b/interface/src/app/status/SystemLog.tsx index 6c97547eb..13c0235c6 100644 --- a/interface/src/app/status/SystemLog.tsx +++ b/interface/src/app/status/SystemLog.tsx @@ -6,12 +6,7 @@ import WarningIcon from '@mui/icons-material/Warning'; import { Box, Button, Checkbox, MenuItem, TextField, styled } from '@mui/material'; import Grid from '@mui/material/Grid2'; -import { - fetchLog, - fetchLogES, - readLogSettings, - updateLogSettings -} from 'api/system'; +import { fetchLogES, readLogSettings, updateLogSettings } from 'api/system'; import { useRequest, useSSE } from 'alova/client'; import { @@ -98,16 +93,15 @@ const SystemLog = () => { useSSE(fetchLogES, { immediate: true, interceptByGlobalResponded: false - }).onMessage((message: { id: number; data: string }) => { - const rawData = message.data; - const logentry = JSON.parse(rawData) as LogEntry; + }) + .onMessage((message: { id: number; data: string }) => { + const rawData = message.data; + const logentry = JSON.parse(rawData) as LogEntry; setLogEntries((log) => [...log, logentry]); - }).onError(() => { - toast.error('No connection to Log service'); - }); - - // called on page load to reset pointer and fetch all log entries - useRequest(fetchLog()); + }) + .onError(() => { + toast.error('No connection to Log service'); + }); const paddedLevelLabel = (level: LogLevel) => { const label = levelLabel(level); diff --git a/mock-api/rest_server.ts b/mock-api/rest_server.ts index 1d5396c5c..13ebe958a 100644 --- a/mock-api/rest_server.ts +++ b/mock-api/rest_server.ts @@ -127,7 +127,6 @@ let log_settings = { compact: true, psram: true }; -const FETCH_LOG_ENDPOINT = REST_ENDPOINT_ROOT + 'fetchLog'; // NTP const NTP_STATUS_ENDPOINT = REST_ENDPOINT_ROOT + 'ntpStatus'; @@ -4097,9 +4096,6 @@ const emsesp_deviceentities_none = [ // LOG router - .post(FETCH_LOG_ENDPOINT, () => { - return status(200); - }) .get(LOG_SETTINGS_ENDPOINT, () => log_settings) .post(LOG_SETTINGS_ENDPOINT, async (request: any) => { log_settings = await request.json(); diff --git a/src/web/WebLogService.cpp b/src/web/WebLogService.cpp index c7d2692d2..4239061da 100644 --- a/src/web/WebLogService.cpp +++ b/src/web/WebLogService.cpp @@ -27,9 +27,6 @@ WebLogService::WebLogService(AsyncWebServer * server, SecurityManager * security // get & set settings server->on(EMSESP_LOG_SETTINGS_PATH, [this](AsyncWebServerRequest * request, JsonVariant json) { getSetValues(request, json); }); - // for bring back the whole log - is a command, hence a POST - server->on(EMSESP_FETCH_LOG_PATH, HTTP_POST, [this](AsyncWebServerRequest * request) { fetchLog(request); }); - // events_.setFilter(securityManager->filterRequest(AuthenticationPredicates::IS_ADMIN)); server->addHandler(&events_); } @@ -236,13 +233,6 @@ void WebLogService::transmit(const QueuedLogMessage & message) { delete[] buffer; } -// send the complete log buffer to the API, not filtering on log level -// done by resetting the pointer -void WebLogService::fetchLog(AsyncWebServerRequest * request) { - log_message_id_tail_ = 0; - request->send(200); -} - // sets the values after a POST void WebLogService::getSetValues(AsyncWebServerRequest * request, JsonVariant json) { if ((request->method() == HTTP_GET) || (!json.is())) { @@ -256,9 +246,14 @@ void WebLogService::getSetValues(AsyncWebServerRequest * request, JsonVariant js response->setLength(); request->send(response); + + // reset the tail pointer so complete log is sent + log_message_id_tail_ = 0; + return; } + // POST - set the values auto && body = json.as(); uuid::log::Level level = body["level"]; diff --git a/src/web/WebLogService.h b/src/web/WebLogService.h index e34d0ff90..a222f6d88 100644 --- a/src/web/WebLogService.h +++ b/src/web/WebLogService.h @@ -20,7 +20,6 @@ #define WebLogService_h #define EMSESP_EVENT_SOURCE_LOG_PATH "/es/log" -#define EMSESP_FETCH_LOG_PATH "/rest/fetchLog" #define EMSESP_LOG_SETTINGS_PATH "/rest/logSettings" using ::uuid::console::Shell; @@ -62,7 +61,6 @@ class WebLogService : public uuid::log::Handler { }; void transmit(const QueuedLogMessage & message); - void fetchLog(AsyncWebServerRequest * request); void getSetValues(AsyncWebServerRequest * request, JsonVariant json); char * messagetime(char * out, const uint64_t t, const size_t bufsize);