Allow override rewrite match (#391)

This commit is contained in:
WallyCZ 2019-06-22 20:27:57 +02:00 committed by Me No Dev
parent 736a54af1a
commit 9a5be71920
2 changed files with 3 additions and 1 deletions

View File

@ -303,11 +303,13 @@ class AsyncWebRewrite {
_toUrl = _toUrl.substring(0, index);
}
}
virtual ~AsyncWebRewrite(){}
AsyncWebRewrite& setFilter(ArRequestFilterFunction fn) { _filter = fn; return *this; }
bool filter(AsyncWebServerRequest *request) const { return _filter == NULL || _filter(request); }
const String& from(void) const { return _from; }
const String& toUrl(void) const { return _toUrl; }
const String& params(void) const { return _params; }
virtual bool match(AsyncWebServerRequest *request) { return from() == request->url() && filter(request); }
};
/*

View File

@ -104,7 +104,7 @@ void AsyncWebServer::_handleDisconnect(AsyncWebServerRequest *request){
void AsyncWebServer::_rewriteRequest(AsyncWebServerRequest *request){
for(const auto& r: _rewrites){
if (r->from() == request->_url && r->filter(request)){
if (r->match(request)){
request->_url = r->toUrl();
request->_addGetParams(r->params());
}