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