Skip to content

Commit 90aae15

Browse files
committed
Implemented integer-based arg() interfaces
1 parent 018fcab commit 90aae15

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

src/ESPWebServer.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,28 @@ String ESPWebServer::arg(String name) {
141141
}
142142

143143
String ESPWebServer::arg(int i) {
144-
// TODO
145-
HTTPS_LOGE("arg(int) not yet implemented");
144+
ResourceParameters *params = _activeRequest->getParams();
145+
int idx=0;
146+
for (auto it=params->beginQueryParameters(); it != params->endQueryParameters(); it++, idx++) {
147+
if (idx == i)
148+
return String(it->second.c_str());
149+
}
146150
return "";
147151
}
148152

149153
String ESPWebServer::argName(int i) {
150-
// TODO
151-
HTTPS_LOGE("argName() not yet implemented");
154+
ResourceParameters *params = _activeRequest->getParams();
155+
int idx=0;
156+
for (auto it=params->beginQueryParameters(); it != params->endQueryParameters(); it++, idx++) {
157+
if (idx == i)
158+
return String(it->first.c_str());
159+
}
152160
return "";
153161
}
154162

155163
int ESPWebServer::args() {
156-
// TODO
157-
HTTPS_LOGE("args() not yet implemented");
158-
return 0;
164+
ResourceParameters *params = _activeRequest->getParams();
165+
return params->getQueryParameterCount();
159166
}
160167

161168
bool ESPWebServer::hasArg(String name) {

0 commit comments

Comments
 (0)