Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c74a770

Browse files
committed
Changed Arg hasArg hasHeader from const char * to String
This permet calling these with const char *, String or PGM_P type parameter
1 parent 090c3e3 commit c74a770

File tree

2 files changed

+7
-36
lines changed

2 files changed

+7
-36
lines changed

libraries/ESP8266WebServer/src/ESP8266WebServer.cpp

+4-30
Original file line numberDiff line numberDiff line change
@@ -370,18 +370,10 @@ void ESP8266WebServer::sendContent_P(PGM_P content, size_t size) {
370370
}
371371
}
372372

373-
String ESP8266WebServer::arg(const char* name) {
374-
for (int i = 0; i < _currentArgCount; ++i) {
375-
if (_currentArgs[i].key == name)
376-
return _currentArgs[i].value;
377-
}
378-
return String();
379-
}
380373

381-
String ESP8266WebServer::arg_P(PGM_P name) {
382-
String argname = name; // Copy to RAM, avoid loop search compare from flash
374+
String ESP8266WebServer::arg(String name) {
383375
for (int i = 0; i < _currentArgCount; ++i) {
384-
if ( _currentArgs[i].key == argname )
376+
if ( _currentArgs[i].key == name )
385377
return _currentArgs[i].value;
386378
}
387379
return String();
@@ -403,22 +395,14 @@ int ESP8266WebServer::args() {
403395
return _currentArgCount;
404396
}
405397

406-
bool ESP8266WebServer::hasArg(const char* name) {
398+
bool ESP8266WebServer::hasArg(String name) {
407399
for (int i = 0; i < _currentArgCount; ++i) {
408400
if (_currentArgs[i].key == name)
409401
return true;
410402
}
411403
return false;
412404
}
413405

414-
bool ESP8266WebServer::hasArg_P(PGM_P name) {
415-
String argname = name; // Copy to RAM, avoid loop search compare from flash
416-
for (int i = 0; i < _currentArgCount; ++i) {
417-
if ( _currentArgs[i].key == argname )
418-
return true;
419-
}
420-
return false;
421-
}
422406

423407
String ESP8266WebServer::header(const char* name) {
424408
for (int i = 0; i < _headerKeysCount; ++i) {
@@ -455,24 +439,14 @@ int ESP8266WebServer::headers() {
455439
return _headerKeysCount;
456440
}
457441

458-
bool ESP8266WebServer::hasHeader(const char* name) {
442+
bool ESP8266WebServer::hasHeader(String name) {
459443
for (int i = 0; i < _headerKeysCount; ++i) {
460444
if ((_currentHeaders[i].key == name) && (_currentHeaders[i].value.length() > 0))
461445
return true;
462446
}
463447
return false;
464448
}
465449

466-
bool ESP8266WebServer::hasHeader_P(PGM_P name) {
467-
String argname = name; // Copy to RAM, avoid loop search compare from flash
468-
for (int i = 0; i < _headerKeysCount; ++i) {
469-
if ((_currentHeaders[i].key == argname ) && (_currentHeaders[i].value.length() > 0))
470-
return true;
471-
}
472-
return false;
473-
}
474-
475-
476450
String ESP8266WebServer::hostHeader() {
477451
return _hostHeader;
478452
}

libraries/ESP8266WebServer/src/ESP8266WebServer.h

+3-6
Original file line numberDiff line numberDiff line change
@@ -87,20 +87,17 @@ class ESP8266WebServer
8787
WiFiClient client() { return _currentClient; }
8888
HTTPUpload& upload() { return _currentUpload; }
8989

90-
String arg(const char* name); // get request argument value by name
91-
String arg_P(PGM_P name); // get request argument value by name
90+
String arg(String name); // get request argument value by name
9291
String arg(int i); // get request argument value by number
9392
String argName(int i); // get request argument name by number
9493
int args(); // get arguments count
95-
bool hasArg(const char* name); // check if argument exists
96-
bool hasArg_P(PGM_P name); // check if argument exists
94+
bool hasArg(String name); // check if argument exists
9795
void collectHeaders(const char* headerKeys[], const size_t headerKeysCount); // set the request headers to collect
9896
String header(const char* name); // get request header value by name
9997
String header(int i); // get request header value by number
10098
String headerName(int i); // get request header name by number
10199
int headers(); // get header count
102-
bool hasHeader(const char* name); // check if header exists
103-
bool hasHeader_P(PGM_P name); // check if header exists
100+
bool hasHeader(String name); // check if header exists
104101

105102
String hostHeader(); // get request host header if available or empty String if not
106103

0 commit comments

Comments
 (0)