From 28803540a2d4d33a93fd724e32e00782b8a5d466 Mon Sep 17 00:00:00 2001 From: Rick van Schijndel Date: Fri, 29 Dec 2017 05:58:36 +0100 Subject: [PATCH] Added String hostname support to WiFiClient and WiFiClientSecure (#3349) * Added String hostname support to WiFiClient and WiFiClientSecure * Typo in WiFi --- libraries/ESP8266WiFi/src/WiFiClient.cpp | 5 +++++ libraries/ESP8266WiFi/src/WiFiClient.h | 1 + libraries/ESP8266WiFi/src/WiFiClientSecure.cpp | 5 +++++ libraries/ESP8266WiFi/src/WiFiClientSecure.h | 1 + 4 files changed, 12 insertions(+) diff --git a/libraries/ESP8266WiFi/src/WiFiClient.cpp b/libraries/ESP8266WiFi/src/WiFiClient.cpp index 828cbccf3..6af42318a 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClient.cpp @@ -102,6 +102,11 @@ int WiFiClient::connect(const char* host, uint16_t port) return 0; } +int WiFiClient::connect(const String host, uint16_t port) +{ + return connect(host.c_str(), port); +} + int WiFiClient::connect(IPAddress ip, uint16_t port) { ip_addr_t addr; diff --git a/libraries/ESP8266WiFi/src/WiFiClient.h b/libraries/ESP8266WiFi/src/WiFiClient.h index cb4f75c37..10204a705 100644 --- a/libraries/ESP8266WiFi/src/WiFiClient.h +++ b/libraries/ESP8266WiFi/src/WiFiClient.h @@ -46,6 +46,7 @@ public: uint8_t status(); virtual int connect(IPAddress ip, uint16_t port); virtual int connect(const char *host, uint16_t port); + virtual int connect(const String host, uint16_t port); virtual size_t write(uint8_t); virtual size_t write(const uint8_t *buf, size_t size); size_t write_P(PGM_P buf, size_t size); diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp index cbe4631d8..b82d0a6ea 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.cpp @@ -454,6 +454,11 @@ int WiFiClientSecure::connect(const char* name, uint16_t port) return _connectSSL(name); } +int WiFiClientSecure::connect(const String host, uint16_t port) +{ + return connect(host.c_str(), port); +} + int WiFiClientSecure::_connectSSL(const char* hostName) { if (!_ssl) { diff --git a/libraries/ESP8266WiFi/src/WiFiClientSecure.h b/libraries/ESP8266WiFi/src/WiFiClientSecure.h index afffbdb4e..94d0e429f 100644 --- a/libraries/ESP8266WiFi/src/WiFiClientSecure.h +++ b/libraries/ESP8266WiFi/src/WiFiClientSecure.h @@ -36,6 +36,7 @@ public: WiFiClientSecure& operator=(const WiFiClientSecure&); int connect(IPAddress ip, uint16_t port) override; + int connect(const String host, uint16_t port) override; int connect(const char* name, uint16_t port) override; bool verify(const char* fingerprint, const char* domain_name);