Skip to content
This repository was archived by the owner on Mar 5, 2026. It is now read-only.

Commit 9a5be71

Browse files
WallyCZme-no-dev
authored andcommitted
Allow override rewrite match (me-no-dev#391)
1 parent 736a54a commit 9a5be71

2 files changed

Lines changed: 3 additions & 1 deletion

File tree

src/ESPAsyncWebServer.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,11 +303,13 @@ class AsyncWebRewrite {
303303
_toUrl = _toUrl.substring(0, index);
304304
}
305305
}
306+
virtual ~AsyncWebRewrite(){}
306307
AsyncWebRewrite& setFilter(ArRequestFilterFunction fn) { _filter = fn; return *this; }
307308
bool filter(AsyncWebServerRequest *request) const { return _filter == NULL || _filter(request); }
308309
const String& from(void) const { return _from; }
309310
const String& toUrl(void) const { return _toUrl; }
310311
const String& params(void) const { return _params; }
312+
virtual bool match(AsyncWebServerRequest *request) { return from() == request->url() && filter(request); }
311313
};
312314

313315
/*

src/WebServer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ void AsyncWebServer::_handleDisconnect(AsyncWebServerRequest *request){
104104

105105
void AsyncWebServer::_rewriteRequest(AsyncWebServerRequest *request){
106106
for(const auto& r: _rewrites){
107-
if (r->from() == request->_url && r->filter(request)){
107+
if (r->match(request)){
108108
request->_url = r->toUrl();
109109
request->_addGetParams(r->params());
110110
}

0 commit comments

Comments
 (0)