News for hackers. Stuff that matters.
Re:Go Is the New Ruby by steveklabnik on Thursday October 31, 2019 @09:19AM (#21408363)
Rust’s standard library has no http support, so this post is a bit confusing to me.
Re:Go Is the New Ruby by lacker on Thursday October 31, 2019 @02:37PM (#21412155)
This stuff, for example:

https://docs.rs/http/0.1.19/http/request/index.html

"standard library" is probably not the correct term for this in Rust-world because it is under the "http" namespace rather than the "std" namespace. I just meant, "the stuff you use via typing `use http`".

Re:Go Is the New Ruby by steveklabnik on Thursday October 31, 2019 @10:36PM (#21415817)
Yes, that is not the standard library, that’s a third party package. Its documentation does explain that it’s not a client or server.
Re:Go Is the New Ruby by lacker on Friday November 01, 2019 @01:40PM (#21421619)
Hmm. Its documentation doesn't explain that very well at all, to me.

I am comparing the experiences of:

1/ Trying to do some http requests in go, searching for "golang http", and coming across the fairly well documented standard "net/http" library in go, at https://golang.org/pkg/net/http/

2/ Trying to do some http requests in rust, searching for "rust http", and coming across this as the first result:

https://docs.rs/http/0.1.19/http/

which includes statements like

"It's intended that this crate is the "standard library" for HTTP clients and servers without dictating any particular implementation."

That's cool, I don't mind if no particular implementation is dictated to me. I just want to know how to use it by reading this documentation... but that never becomes possible.

You could say the problem isn't that rust is documented poorly, the problem is that the standard library is missing some things that are in the standard library of other languages, and it's those third-party libraries that are documented poorly.

Re:Go Is the New Ruby by littlestymaar on Monday November 04, 2019 @09:52AM (#21442141)
The big issue here, is that you assume that you can get the same ultra-light Google search to give you the same answer for Go and Rust. That's a totally unrealistic expectations! If you google “nodejs http”, “PHP http”, “python http” or “Java http” you don't have the answer you're looking for either!

“How to perform an http request in Rust” is a Google query that makes much more sense, and works for all the aforementioned languages.

Re:Go Is the New Ruby by lacker on Monday November 04, 2019 @12:46PM (#21444153)
I disagree.

Searching for [python http] works fine. Top result is this page:

https://docs.python.org/3/library/http.client.html

which explains precisely how to send http requests.

Searching for [nodejs http] works fine as well. You get this page:

https://nodejs.org/api/http.html

Which does, in fact, give you a library that can make http requests.

I won't dig into php and java because I'm not familiar enough with those languages to say what a decent way of sending http requests is.

Finally, searching for [how to perform an http request in rust] does not work! It sends you to https://docs.rs/http/0.1.5/http/request/index.html which is the same fundamentally broken library as you get with [rust http].

In conclusion, the Rust documentation is worse than any of Go, Python, or Node.

Re:Go Is the New Ruby by steveklabnik on Monday November 04, 2019 @12:51PM (#21444232)
The second link for "rust http" for me (and in incognito mode) points to https://github.com/hyperium/hyper, which is exactly what you want.