From 055d27b3064f123e7c7b431d94c43436d1b5e709 Mon Sep 17 00:00:00 2001 From: Lorow Date: Tue, 1 Apr 2025 23:31:00 +0200 Subject: [PATCH] Improve searching for route handle in rest api --- components/RestAPI/RestAPI/RestAPI.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/components/RestAPI/RestAPI/RestAPI.cpp b/components/RestAPI/RestAPI/RestAPI.cpp index 9667b1a..7e12c8c 100644 --- a/components/RestAPI/RestAPI/RestAPI.cpp +++ b/components/RestAPI/RestAPI/RestAPI.cpp @@ -42,16 +42,16 @@ void RestAPI::handle_request(struct mg_connection *connection, int event, void * { struct mg_http_message *message = (struct mg_http_message *)event_data; std::string uri = std::string(message->uri.buf, message->uri.len); + auto handler = this->routes[uri]; - if (auto method_it = this->routes.find(uri); method_it != this->routes.end()) + if (handler) { RequestContext *context = new RequestContext{ .connection = connection, .method = std::string(message->method.buf, message->method.len), .body = std::string(message->body.buf, message->body.len), }; - auto method = method_it->second; - (*this.*method)(context); + (*this.*handler)(context); } else { @@ -71,8 +71,7 @@ void RestAPI::poll() mg_mgr_poll(&mgr, 100); } -// commands - +// COMMANDS // updates void RestAPI::handle_update_wifi(RequestContext *context) {