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 @@ -333,15 +333,28 @@ bool WebServer::removeRoute(const String &uri) {
333333}
334334
335335bool WebServer::removeRoute (const String &uri, HTTPMethod method) {
336- // Loop through all request handlers and see if there is a match
336+ bool anyHandlerRemoved = false ;
337337 RequestHandler *handler = _firstHandler;
338+ RequestHandler *previousHandler = nullptr ;
339+
338340 while (handler) {
339341 if (handler->canHandle (method, uri)) {
340- return _removeRequestHandler (handler);
342+ if (_removeRequestHandler (handler)) {
343+ anyHandlerRemoved = true ;
344+ // Move to the next handler
345+ if (previousHandler) {
346+ handler = previousHandler->next ();
347+ } else {
348+ handler = _firstHandler;
349+ }
350+ continue ;
351+ }
341352 }
353+ previousHandler = handler;
342354 handler = handler->next ();
343355 }
344- return false ;
356+
357+ return anyHandlerRemoved;
345358}
346359
347360void WebServer::addHandler (RequestHandler *handler) {
You can’t perform that action at this time.
0 commit comments