-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
switch http client to something that does not have a native extension #237
Comments
Oh, I thought Kubeclient is purely rest-client but turns out we also use http gem for I propose any replacement should:
And old but detailed comparison: https://bibwild.wordpress.com/2012/04/30/ruby-http-performance-shootout-redux/
https://jvns.ca/blog/2016/03/04/whats-up-with-ruby-http-libraries/ sumarises nahi's epic table https://bit.ly/RubyHTTPClients2012 (slides), with a crucial point that at the bottom everything builds on just 4 libs: Net:HTTP, Excon, httpclient and native libcurl. Faraday is unusual in supporting many backend libs with same API.
|
httparty is also pure ruby, uses 'net/http'.
|
Great summary! :D
Faraday is in a weird state maintainer wise ... so not sure if that will
work out ...
so far httpclient sounds like the winner to me too ... just need some
benchmarks :)
…On Sun, Mar 26, 2017 at 3:17 AM, Beni Cherniavsky-Paskin < ***@***.***> wrote:
httparty is also pure ruby, uses 'net/http'.
- Streaming: looks like yes: https://github.com/jnunemaker/
httparty/blob/master/examples/stream_download.rb
<https://github.com/jnunemaker/httparty/blob/master/examples/stream_download.rb>
- No builtin persistent (jnunemaker/httparty#155
<jnunemaker/httparty#155>) but there is
https://github.com/soupmatt/persistent_httparty
<https://github.com/soupmatt/persistent_httparty>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#237 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAAsZwjs3ue0jISv2bibQfY0Ff3gU0Yqks5rpjtGgaJpZM4Mde3k>
.
|
@msufa You'd switched watching to use http.rb for Celluloid support — can you comment whether any of the alternatives here (especially httpclient) could work for your needs? Other requirements: #140 lists several. |
@cben as noted in #204 (comment) Celluloid support should no longer be necessary, so you're free to go with whichever HTTP implementation you find works best for you :) |
see #254 |
We might also need websocket support at some point. No idea what means in terms of gems. It seems from docs websockets are already supported for watches (don't know if it gives any benefit over GET), and looks like they'll be required for certain types of bulk watching: kubernetes/community#443 |
FYI faraday now has streaming lostisland/faraday#604 |
Just a data point: replacing |
Folks, here's draft PR (work in progress): #466 to give users the option to replace
I'd love to hear your thoughts on this. |
In case anyone here has opinions between Faraday / httpclient / another lib — NOW is your last chance to influence! 😉 Join #466 discussion ^^. Note that support for connection reuse is a must for @astencel-sumo. |
faraday or httparty would come to my mind ...
The text was updated successfully, but these errors were encountered: