File tree Expand file tree Collapse file tree 1 file changed +16
-3
lines changed
Expand file tree Collapse file tree 1 file changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -331,15 +331,28 @@ bool WebServer::removeRoute(const String &uri) {
331331}
332332
333333bool WebServer::removeRoute (const String &uri, HTTPMethod method) {
334- // Loop through all request handlers and see if there is a match
334+ bool anyHandlerRemoved = false ;
335335 RequestHandler *handler = _firstHandler;
336+ RequestHandler *previousHandler = nullptr ;
337+
336338 while (handler) {
337339 if (handler->canHandle (method, uri)) {
338- return _removeRequestHandler (handler);
340+ if (_removeRequestHandler (handler)) {
341+ anyHandlerRemoved = true ;
342+ // Move to the next handler
343+ if (previousHandler) {
344+ handler = previousHandler->next ();
345+ } else {
346+ handler = _firstHandler;
347+ }
348+ continue ;
349+ }
339350 }
351+ previousHandler = handler;
340352 handler = handler->next ();
341353 }
342- return false ;
354+
355+ return anyHandlerRemoved;
343356}
344357
345358void WebServer::addHandler (RequestHandler *handler) {
You can’t perform that action at this time.
0 commit comments