Closed drmason13 closed 4 years ago
I wrote about this a while back on my blog: https://blog.yoshuawuyts.com/async-http/#shared-abstractions
http-types
started as an experiment in how ergonomic we could make an http
layer if it was designed for async Rust from the ground up. And it turned out that the result was has worked really well, and enabled us to share quite a bit of code between tide
and surf
that was previously duplicate.
We're currently in the process of fully living up to the http-types
name; and working to create full type-safe abstractions for all headers. The focus is right now finishing up the work of content negotiation, and then we'll move onto other headers.
Hope this answers your question!
What makes this crate and http different? They seem to have very similar goals (foundational types for http to interop between different crates) which would - at first glance - be better met by one "winning out" over the other. For instance I spotted this http_types issue #137 where http and http_types urls were a little incompatible.
Is it a case of "they're basically the same and are just competing" or are there reasons projects might prefer one over the other? Are there reasons to coexist? (in a perfect world where nobody's hard work would go to waste and nobody's feelings would be hurt!)
I'm sorry if this has been asked a number of times, I couldn't find an issue (open or closed) mentioning the http crate at all, though I might have missed one as http is a common keyword 😄. Also I don't mean to start anything unpleasant, I'm just curious 👍