mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +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:
parent
8a26750e63
commit
090c3e3533
@ -378,6 +378,15 @@ String ESP8266WebServer::arg(const char* name) {
|
|||||||
return String();
|
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) {
|
String ESP8266WebServer::arg(int i) {
|
||||||
if (i < _currentArgCount)
|
if (i < _currentArgCount)
|
||||||
return _currentArgs[i].value;
|
return _currentArgs[i].value;
|
||||||
@ -402,6 +411,15 @@ bool ESP8266WebServer::hasArg(const char* name) {
|
|||||||
return false;
|
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) {
|
String ESP8266WebServer::header(const char* name) {
|
||||||
for (int i = 0; i < _headerKeysCount; ++i) {
|
for (int i = 0; i < _headerKeysCount; ++i) {
|
||||||
if (_currentHeaders[i].key == name)
|
if (_currentHeaders[i].key == name)
|
||||||
@ -445,6 +463,16 @@ bool ESP8266WebServer::hasHeader(const char* name) {
|
|||||||
return false;
|
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() {
|
String ESP8266WebServer::hostHeader() {
|
||||||
return _hostHeader;
|
return _hostHeader;
|
||||||
}
|
}
|
||||||
|
@ -88,16 +88,19 @@ public:
|
|||||||
HTTPUpload& upload() { return _currentUpload; }
|
HTTPUpload& upload() { return _currentUpload; }
|
||||||
|
|
||||||
String arg(const char* name); // get request argument value by name
|
String arg(const char* name); // get request argument value by name
|
||||||
|
String arg_P(PGM_P name); // get request argument value by name
|
||||||
String arg(int i); // get request argument value by number
|
String arg(int i); // get request argument value by number
|
||||||
String argName(int i); // get request argument name by number
|
String argName(int i); // get request argument name by number
|
||||||
int args(); // get arguments count
|
int args(); // get arguments count
|
||||||
bool hasArg(const char* name); // check if argument exists
|
bool hasArg(const char* name); // check if argument exists
|
||||||
|
bool hasArg_P(PGM_P name); // check if argument exists
|
||||||
void collectHeaders(const char* headerKeys[], const size_t headerKeysCount); // set the request headers to collect
|
void collectHeaders(const char* headerKeys[], const size_t headerKeysCount); // set the request headers to collect
|
||||||
String header(const char* name); // get request header value by name
|
String header(const char* name); // get request header value by name
|
||||||
String header(int i); // get request header value by number
|
String header(int i); // get request header value by number
|
||||||
String headerName(int i); // get request header name by number
|
String headerName(int i); // get request header name by number
|
||||||
int headers(); // get header count
|
int headers(); // get header count
|
||||||
bool hasHeader(const char* name); // check if header exists
|
bool hasHeader(const char* name); // check if header exists
|
||||||
|
bool hasHeader_P(PGM_P name); // check if header exists
|
||||||
|
|
||||||
String hostHeader(); // get request host header if available or empty String if not
|
String hostHeader(); // get request host header if available or empty String if not
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user