@@ -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