Skip to content

Commit d64c0b1

Browse files
Merge pull request #119 from ESP32Async/int-indexes
Add overloads for int indexes
2 parents 8af61d0 + 133d78b commit d64c0b1

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

src/ESPAsyncWebServer.h

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,9 @@ class AsyncWebServerRequest {
540540
* @return const AsyncWebParameter*
541541
*/
542542
const AsyncWebParameter *getParam(size_t num) const;
543+
const AsyncWebParameter *getParam(int num) const {
544+
return num < 0 ? nullptr : getParam((size_t)num);
545+
}
543546

544547
size_t args() const {
545548
return params();
@@ -554,9 +557,15 @@ class AsyncWebServerRequest {
554557
#ifdef ESP8266
555558
const String &arg(const __FlashStringHelper *data) const; // get request argument value by F(name)
556559
#endif
557-
const String &arg(size_t i) const; // get request argument value by number
560+
const String &arg(size_t i) const; // get request argument value by number
561+
const String &arg(int i) const {
562+
return i < 0 ? emptyString : arg((size_t)i);
563+
};
558564
const String &argName(size_t i) const; // get request argument name by number
559-
bool hasArg(const char *name) const; // check if argument exists
565+
const String &argName(int i) const {
566+
return i < 0 ? emptyString : argName((size_t)i);
567+
};
568+
bool hasArg(const char *name) const; // check if argument exists
560569
bool hasArg(const String &name) const {
561570
return hasArg(name.c_str());
562571
};
@@ -565,6 +574,9 @@ class AsyncWebServerRequest {
565574
#endif
566575

567576
const String &ASYNCWEBSERVER_REGEX_ATTRIBUTE pathArg(size_t i) const;
577+
const String &ASYNCWEBSERVER_REGEX_ATTRIBUTE pathArg(int i) const {
578+
return i < 0 ? emptyString : pathArg((size_t)i);
579+
}
568580

569581
// get request header value by name
570582
const String &header(const char *name) const;
@@ -576,8 +588,14 @@ class AsyncWebServerRequest {
576588
const String &header(const __FlashStringHelper *data) const; // get request header value by F(name)
577589
#endif
578590

579-
const String &header(size_t i) const; // get request header value by number
591+
const String &header(size_t i) const; // get request header value by number
592+
const String &header(int i) const {
593+
return i < 0 ? emptyString : header((size_t)i);
594+
};
580595
const String &headerName(size_t i) const; // get request header name by number
596+
const String &headerName(int i) const {
597+
return i < 0 ? emptyString : headerName((size_t)i);
598+
};
581599

582600
size_t headers() const; // get header count
583601

@@ -599,6 +617,9 @@ class AsyncWebServerRequest {
599617
#endif
600618

601619
const AsyncWebHeader *getHeader(size_t num) const;
620+
const AsyncWebHeader *getHeader(int num) const {
621+
return num < 0 ? nullptr : getHeader((size_t)num);
622+
};
602623

603624
const std::list<AsyncWebHeader> &getHeaders() const {
604625
return _headers;

0 commit comments

Comments
 (0)