From b3404547f88f77d1839293d7585c97d957d61d98 Mon Sep 17 00:00:00 2001
From: brentru <brent@adafruit.com>
Date: Mon, 9 Sep 2024 16:21:20 -0400
Subject: [PATCH 1/2] patch for esp32 NetworkClient and Client interfaces

---
 src/HttpClient.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/HttpClient.h b/src/HttpClient.h
index 3d404af..acfb8b5 100644
--- a/src/HttpClient.h
+++ b/src/HttpClient.h
@@ -313,6 +313,10 @@ class HttpClient : public Client
     // Inherited from Client
     virtual int connect(IPAddress ip, uint16_t port) { return iClient->connect(ip, port); };
     virtual int connect(const char *host, uint16_t port) { return iClient->connect(host, port); };
+    #ifdef ARDUINO_ARCH_ESP32
+    virtual int connect(const char *host, uint16_t port, int32_t timeout){ return iClient->connect(host, port, timeout); };
+    virtual int connect(IPAddress ip, uint16_t port, int32_t timeout){ return iClient->connect(ip, port, timeout); };
+    #endif
     virtual void stop();
     virtual uint8_t connected() { return iClient->connected(); };
     virtual operator bool() { return bool(iClient); };

From 770bc04799f7f342f978db019933a7c7899d7067 Mon Sep 17 00:00:00 2001
From: brentru <brent@adafruit.com>
Date: Mon, 9 Sep 2024 16:34:15 -0400
Subject: [PATCH 2/2] include guard

---
 src/ArduinoHttpClient.h | 6 ++++++
 src/HttpClient.h        | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/ArduinoHttpClient.h b/src/ArduinoHttpClient.h
index abb8494..a0884d6 100644
--- a/src/ArduinoHttpClient.h
+++ b/src/ArduinoHttpClient.h
@@ -5,6 +5,12 @@
 #ifndef ArduinoHttpClient_h
 #define ArduinoHttpClient_h
 
+#if defined(ESP_IDF_VERSION)
+#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
+#define HAS_ESP_IDF_5
+#endif
+#endif
+
 #include "HttpClient.h"
 #include "WebSocketClient.h"
 #include "URLEncoder.h"
diff --git a/src/HttpClient.h b/src/HttpClient.h
index acfb8b5..eae9747 100644
--- a/src/HttpClient.h
+++ b/src/HttpClient.h
@@ -313,7 +313,7 @@ class HttpClient : public Client
     // Inherited from Client
     virtual int connect(IPAddress ip, uint16_t port) { return iClient->connect(ip, port); };
     virtual int connect(const char *host, uint16_t port) { return iClient->connect(host, port); };
-    #ifdef ARDUINO_ARCH_ESP32
+    #ifdef HAS_ESP_IDF_5
     virtual int connect(const char *host, uint16_t port, int32_t timeout){ return iClient->connect(host, port, timeout); };
     virtual int connect(IPAddress ip, uint16_t port, int32_t timeout){ return iClient->connect(ip, port, timeout); };
     #endif