1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Changed Arg hasArg hasHeader from const char * to String

This permet calling these with const char *, String or PGM_P type
parameter
This commit is contained in:
Charles 2016-02-03 12:04:03 +01:00
parent 090c3e3533
commit c74a7703d2
2 changed files with 7 additions and 36 deletions

View File

@ -370,7 +370,8 @@ void ESP8266WebServer::sendContent_P(PGM_P content, size_t size) {
} }
} }
String ESP8266WebServer::arg(const char* name) {
String ESP8266WebServer::arg(String name) {
for (int i = 0; i < _currentArgCount; ++i) { for (int i = 0; i < _currentArgCount; ++i) {
if ( _currentArgs[i].key == name ) if ( _currentArgs[i].key == name )
return _currentArgs[i].value; return _currentArgs[i].value;
@ -378,15 +379,6 @@ 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;
@ -403,7 +395,7 @@ int ESP8266WebServer::args() {
return _currentArgCount; return _currentArgCount;
} }
bool ESP8266WebServer::hasArg(const char* name) { bool ESP8266WebServer::hasArg(String name) {
for (int i = 0; i < _currentArgCount; ++i) { for (int i = 0; i < _currentArgCount; ++i) {
if (_currentArgs[i].key == name) if (_currentArgs[i].key == name)
return true; return true;
@ -411,14 +403,6 @@ 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) {
@ -455,7 +439,7 @@ int ESP8266WebServer::headers() {
return _headerKeysCount; return _headerKeysCount;
} }
bool ESP8266WebServer::hasHeader(const char* name) { bool ESP8266WebServer::hasHeader(String name) {
for (int i = 0; i < _headerKeysCount; ++i) { for (int i = 0; i < _headerKeysCount; ++i) {
if ((_currentHeaders[i].key == name) && (_currentHeaders[i].value.length() > 0)) if ((_currentHeaders[i].key == name) && (_currentHeaders[i].value.length() > 0))
return true; return true;
@ -463,16 +447,6 @@ 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;
} }

View File

@ -87,20 +87,17 @@ public:
WiFiClient client() { return _currentClient; } WiFiClient client() { return _currentClient; }
HTTPUpload& upload() { return _currentUpload; } HTTPUpload& upload() { return _currentUpload; }
String arg(const char* name); // get request argument value by name String arg(String 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(String 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(String 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