File tree 1 file changed +16
-3
lines changed
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) {
333
333
}
334
334
335
335
bool WebServer::removeRoute (const String &uri, HTTPMethod method) {
336
- // Loop through all request handlers and see if there is a match
336
+ bool anyHandlerRemoved = false ;
337
337
RequestHandler *handler = _firstHandler;
338
+ RequestHandler *previousHandler = nullptr ;
339
+
338
340
while (handler) {
339
341
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
+ }
341
352
}
353
+ previousHandler = handler;
342
354
handler = handler->next ();
343
355
}
344
- return false ;
356
+
357
+ return anyHandlerRemoved;
345
358
}
346
359
347
360
void WebServer::addHandler (RequestHandler *handler) {
You can’t perform that action at this time.
0 commit comments