diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp index b2c0054d9..a01abf416 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.cpp @@ -370,9 +370,10 @@ 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) { - if (_currentArgs[i].key == name) + if ( _currentArgs[i].key == name ) return _currentArgs[i].value; } return String(); @@ -394,7 +395,7 @@ int ESP8266WebServer::args() { return _currentArgCount; } -bool ESP8266WebServer::hasArg(const char* name) { +bool ESP8266WebServer::hasArg(String name) { for (int i = 0; i < _currentArgCount; ++i) { if (_currentArgs[i].key == name) return true; @@ -402,7 +403,8 @@ bool ESP8266WebServer::hasArg(const char* name) { return false; } -String ESP8266WebServer::header(const char* name) { + +String ESP8266WebServer::header(String name) { for (int i = 0; i < _headerKeysCount; ++i) { if (_currentHeaders[i].key == name) return _currentHeaders[i].value; @@ -437,7 +439,7 @@ int ESP8266WebServer::headers() { return _headerKeysCount; } -bool ESP8266WebServer::hasHeader(const char* name) { +bool ESP8266WebServer::hasHeader(String name) { for (int i = 0; i < _headerKeysCount; ++i) { if ((_currentHeaders[i].key == name) && (_currentHeaders[i].value.length() > 0)) return true; diff --git a/libraries/ESP8266WebServer/src/ESP8266WebServer.h b/libraries/ESP8266WebServer/src/ESP8266WebServer.h index ccf48dbbf..4e291e5fb 100644 --- a/libraries/ESP8266WebServer/src/ESP8266WebServer.h +++ b/libraries/ESP8266WebServer/src/ESP8266WebServer.h @@ -87,17 +87,17 @@ public: WiFiClient client() { return _currentClient; } 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(int i); // get request argument value by number String argName(int i); // get request argument name by number int args(); // get arguments count - bool hasArg(const char* name); // check if argument exists + bool hasArg(String name); // check if argument exists 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(String name); // get request header value by name String header(int i); // get request header value by number String headerName(int i); // get request header name by number int headers(); // get header count - bool hasHeader(const char* name); // check if header exists + bool hasHeader(String name); // check if header exists String hostHeader(); // get request host header if available or empty String if not