Re: RM std/net/http.e?
- Posted by ghaberek (admin) Sep 29, 2020
- 2145 views
SDPringle said...
The failing t_net_http.e has been a thorn in my side for years now and it is a bigger waste of time to me to re-implement what CURL from (Euphoria MVC) already does in Euphoria than to leverage CURL it in order to fix t_net_http. I wouldn't mind if std/net/http.e went away completely at this point and I don't see anyone really using it. I am the kind of person who doesn't like to remove something from a library once it is already in there, though. What do you think?
I agree on all points.
- Plain HTTP is useless nowadays with the advent of Let's Encrypt making HTTPS free and accessible to anyone. (We're even using it here!)
- We shouldn't remove library routines until they've been properly deprecated for a while. This is why the deprecate keyword was added.
- I don't want to alienate anyone who is currently using these routines.
I had detailed my suggested approach here: Roadmap42 - Standard libraries
Roadmap42 said...
HTTP
std/net/http.e
- Add support for HTTPS (see below).
- Add other HTTP methods such as http_put(), etc.
In order to provide HTTPS support, we need to:
- Use CURL directly if it is found in the local directory, or Euphoria bin/
- ...or use WinInet on Windows if CURL is not found locally
- ...or use system-wide CURL in PATH if CURL is not found locally
- ...or fall back to our original std/socket.e based HTTP-only routines
- ...and then finally, return error ERR_HTTPS_UNAVAILABLE for HTTPS requests.
And at this point have both Wininet wrapper and curl wrapper completed.
-Greg