mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-01 03:26:58 +03:00
Added arg_P hasArg_P and hasHeader_P
Added arg_P hasArg_P and hasHeader_P to be able to test arg from string stored in flash
This commit is contained in:
@ -378,6 +378,15 @@ String ESP8266WebServer::arg(const char* name) {
|
||||
return String();
|
||||
}
|
||||
|
||||
String ESP8266WebServer::arg_P(PGM_P name) {
|
||||
String argname = name; // Copy to RAM, avoid loop search compare from flash
|
||||
for (int i = 0; i < _currentArgCount; ++i) {
|
||||
if ( _currentArgs[i].key == argname )
|
||||
return _currentArgs[i].value;
|
||||
}
|
||||
return String();
|
||||
}
|
||||
|
||||
String ESP8266WebServer::arg(int i) {
|
||||
if (i < _currentArgCount)
|
||||
return _currentArgs[i].value;
|
||||
@ -402,6 +411,15 @@ bool ESP8266WebServer::hasArg(const char* name) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ESP8266WebServer::hasArg_P(PGM_P name) {
|
||||
String argname = name; // Copy to RAM, avoid loop search compare from flash
|
||||
for (int i = 0; i < _currentArgCount; ++i) {
|
||||
if ( _currentArgs[i].key == argname )
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
String ESP8266WebServer::header(const char* name) {
|
||||
for (int i = 0; i < _headerKeysCount; ++i) {
|
||||
if (_currentHeaders[i].key == name)
|
||||
@ -445,6 +463,16 @@ bool ESP8266WebServer::hasHeader(const char* name) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ESP8266WebServer::hasHeader_P(PGM_P name) {
|
||||
String argname = name; // Copy to RAM, avoid loop search compare from flash
|
||||
for (int i = 0; i < _headerKeysCount; ++i) {
|
||||
if ((_currentHeaders[i].key == argname ) && (_currentHeaders[i].value.length() > 0))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
String ESP8266WebServer::hostHeader() {
|
||||
return _hostHeader;
|
||||
}
|
||||
|
Reference in New Issue
Block a user