First of all, thank you for writing this Fetch abstraction layer.
I am trying to get it working on my ESP32 board and am running into compatibility issues with some of the dependencies.
The first issue I ran into was a missing dependency "LCBUrl".
I installed it manually and it is now compiling past that point, but giving me a warning.
"WARNING: library LCBUrl claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s)."
The second issue, which I am currently stuck on is related to the WifiClientSecure class.
The ESP32 board appears to install a WifiClientSecure package, but it does not have the same methods that you are calling.
C:\Users\KoGMa\Documents\Arduino\libraries\Fetch\src\Fetch.cpp: In function 'Response fetch(const char*, RequestOptions)':
C:\Users\KoGMa\Documents\Arduino\libraries\Fetch\src\Fetch.cpp:17:21: error: 'class WiFiClientSecure' has no member named 'setFingerprint'
else client.setFingerprint(options.fingerprint.c_str());
^
C:\Users\KoGMa\Documents\Arduino\libraries\Fetch\src\Fetch.cpp:21:57: error: no matching function for call to 'WiFiClientSecure::connect(String&, uint&)'
while(!client.connect(parsedUrl.host, parsedUrl.port)) {
^
In file included from C:\Users\KoGMa\Documents\Arduino\libraries\Fetch\src\Fetch.cpp:2:0:
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:48:9: note: candidate: virtual int WiFiClientSecure::connect(IPAddress, uint16_t)
int connect(IPAddress ip, uint16_t port);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:48:9: note: no known conversion for argument 1 from 'String' to 'IPAddress'
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:49:9: note: candidate: virtual int WiFiClientSecure::connect(IPAddress, uint16_t, int32_t)
int connect(IPAddress ip, uint16_t port, int32_t timeout);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:49:9: note: candidate expects 3 arguments, 2 provided
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:50:9: note: candidate: virtual int WiFiClientSecure::connect(const char*, uint16_t)
int connect(const char *host, uint16_t port);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:50:9: note: no known conversion for argument 1 from 'String' to 'const char*'
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:51:9: note: candidate: virtual int WiFiClientSecure::connect(const char*, uint16_t, int32_t)
int connect(const char *host, uint16_t port, int32_t timeout);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:51:9: note: candidate expects 3 arguments, 2 provided
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:52:9: note: candidate: int WiFiClientSecure::connect(IPAddress, uint16_t, const char*, const char*, const char*)
int connect(IPAddress ip, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:52:9: note: candidate expects 5 arguments, 2 provided
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:53:9: note: candidate: int WiFiClientSecure::connect(const char*, uint16_t, const char*, const char*, const char*)
int connect(const char *host, uint16_t port, const char *rootCABuff, const char *cli_cert, const char *cli_key);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:53:9: note: candidate expects 5 arguments, 2 provided
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:54:9: note: candidate: int WiFiClientSecure::connect(IPAddress, uint16_t, const char*, const char*)
int connect(IPAddress ip, uint16_t port, const char *pskIdent, const char *psKey);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:54:9: note: candidate expects 4 arguments, 2 provided
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:55:9: note: candidate: int WiFiClientSecure::connect(const char*, uint16_t, const char*, const char*)
int connect(const char *host, uint16_t port, const char *pskIdent, const char *psKey);
^
C:\Users\KoGMa\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\WiFiClientSecure\src/WiFiClientSecure.h:55:9: note: candidate expects 4 arguments, 2 provided
What would you recommend to do to get this working with an ESP32 board?
bug