* Allow definition of custom network interfaces
* Create network client interface class
* Change to PIMPL approach
* Add example for custom network clients
Why:
- Show users how to use multiple network interfaces
This change addresses the need by:
- Adding an example PIO project to use Wi-Fi and GSM/LTE
* Add WebSockets prefix to normal and secure client
Why:
- Avoid name collision
- Fix broken reconnect change
This change addresses the need by:
- Adding WebSockets prefix to all custom clients
- Marking custom client as secure in clientDisconnect()
- Remove broken fix for reconnecting
Why:
- Allow CA cert bundles to be used
This change addresses the need by:
- Adding a constructor that takes a pointer to the bundle
- Setting the WiFiClientSecure to use the bundle
- Adding an example
Add support for the onboard WiFi chip on the Raspberry Pi Pico W
(RP2040 based ) board using the arduino-pico Arduino core at
https://github.com/earlephilhower/arduino-pico
The PicoW WiFi stack is a mashup of the ESP8266 and ESP32 cores, so
only minimal changes were required. Defines a new NETWORK_TYPE for
the PicoW.
ESP8266 examples renames to ESP8266_PICO because they all work unmodified
(except for OTA which is handled differently on the Pico)
* Add client certificate support
allows WiFiClientSecureBearSSL users to use client certificate and private key for the WebSocker.
also added SSL functions for socket.io
```
java.lang.StackOverflowError
at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
```