Open hexgnu opened 10 years ago
@hexgnu The Twitter gem is moving from Faraday to HTTP (https://twitter.com/sferik/status/426910345173929984). I checked out the HTTP gem over the weekend, the interface is slick, but the internals maybe a little immature.
Let's discuss on Thursday, though if Faraday is what's comfortable for both of us, we should go with that.
cc: @sferik
The Twitter gem is moving from Faraday to HTTP
I should clarify…I’ve been working on a branch that swaps out Faraday for the HTTP gem, but it’s still experimental and far from being merged into master
. I wouldn’t expect this change to happen any time soon, if ever. That said, the early results in that branch look promising.
the internals maybe [sic] a little immature
Yeah. The current version of the HTTP gem (0.5.0) is missing a bunch of stuff but it’s under very active development. I wouldn’t recommend switching until 0.6.0 or 1.0.0 is released. The HTTP gem doesn’t support middleware or swappable adapters like Faraday, so if your users depend on those features, I wouldn’t recommend switching at all. That said, after making the swap, tests run about 4X faster (4 seconds vs. 16 seconds), which is quite nice.
awesome thanks @sferik for clarifying
@sferik Thanks for clarifying, definitely not room in 140 characters for all that nuance :)
Sounds like we should use Faraday @hexgnu
About 2 years ago in the v4 branch I started moving this gem to Faraday:
https://github.com/hexgnu/linkedin/blob/v4/lib/linked_in/connection.rb#L22
Oh wow cool @ryanatwork I'll see if I can resurrect some of that
@hexgnu Is this a matter of replacing oauth
with oauth2
gem? Or some major rewrite? I have a pretty urgent need for caching, so I'm thinking about the best quick way to accomplish this. Maybe, you could tell what's the likelyhood that you switch to faraday
in the nearest couple of weeks? Or do I better just go with some temporary solution(monkey-patching, reimplement my own subset of the gem etc.)? Thanks.
@hundredwatt and I paired up on this pretty recently so I'd say this will be happening within the next couple of weeks. We've got a few test failures to fix but overall it went well.
Also I'll add in the ability to add your own middleware layer to faraday so you can cache responses.
Cheers, and stay tuned
@rkushnir https://github.com/hexgnu/linkedin/pull/212 currently in progress.
After this is in place you'll be able to
LinkedIn.middleware << FaradayMiddleware::Caching
Which would cache requests and responses.
@hexgnu That is impressive! Thanks.
Right now we have reimplemented things many many times. It'd be nice to convert all of the internals to faraday so that we can easily extend the linkedin gem.