1. RM std/net/http.e?
- Posted by SDPringle Sep 29, 2020
- 2046 views
Forked from Re: Euphoria MVC updates
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?
2. Re: RM std/net/http.e?
- Posted by ghaberek (admin) Sep 29, 2020
- 2121 views
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
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
3. Re: RM std/net/http.e?
- Posted by SDPringle Sep 29, 2020
- 2038 views
I sent you an email about the http_post problem. There seems to be a permission problem on the test.openeuphoria.com system. That's kind of low level and not really a user of Euphoria issue so I emailed that to you, but now that we are on the subject. Briefly, the CGI script isn't writing to a certain file, and I think that is what is preventing the remaining unit tests from passing. I have the first unit tests passing by turning http_get into a thin wrapper. I haven't changed the API surface. Only just the implementation is different and that it works for sites that redirect to TLS layer sites. I think it is more maintainable to use CURL for all platforms.
Check out the http-curl branch of my fork.
4. Re: RM std/net/http.e?
- Posted by ghaberek (admin) Sep 29, 2020
- 2031 views
I sent you an email about the http_post problem. There seems to be a permission problem on the test.openeuphoria.com system. That's kind of low level and not really a user of Euphoria issue so I emailed that to you, but now that we are on the subject. Briefly, the CGI script isn't writing to a certain file, and I think that is what is preventing the remaining unit tests from passing. I have the first unit tests passing by turning http_get into a thin wrapper. I haven't changed the API surface. Only just the implementation is different and that it works for sites that redirect to TLS layer sites. I think it is more maintainable to use CURL for all platforms.
Check out the http-curl branch of my fork.
I will take a look at it when I can. I bet you're right; it's probably a simple permissions issue. I've got this new server locked down pretty hard. I should be able to get to it this week.
-Greg
5. Re: RM std/net/http.e?
- Posted by ghaberek (admin) Sep 29, 2020
- 2025 views
I will take a look at it when I can. I bet you're right; it's probably a simple permissions issue. I've got this new server locked down pretty hard. I should be able to get to it this week.
All set. Check your email.
-Greg