Comments (12)
Thank you for all your effort on hurley. <3
from hurley.
Should this lostisland/faraday#454 issue be closed then?
I just came back to this project, after having last heard about it through that issue, to start replacing my Faraday code, only to discover hurley had come and gone. :/
from hurley.
π’
from hurley.
@technoweenie will you consider if somebody catch up this project? It seems from architecture point of view this project much better then Faraday.
from hurley.
@zekefast I think I'd prefer you to fork and rename it. Hurley is kind of a dumb name anyway :)
from hurley.
@technoweenie Do you have anything that would suggest the architectural direction you thought appropriate? My team at Kinetic Cafe has found Hurley to be useful over the last year and plan on forking and renaming, but we want to make sure we have an appropriate understanding before we start introducing our own ideas. @ravster would be our lead on this.
Thanks so much for this and Faraday both.
from hurley.
@technoweenie Thank you for starting this and Faraday! As @halostatue mentioned it would be interesting to here you architectural plans about it if you had some. Thanks!
@halostatue, @ravster have you, guys, made some progress on this already? Please, point me where I can found you plans on this project. So I do not need to make one more fork of this.
from hurley.
@zekefast we have not yet started this and probably wonβt for a week or so. Our fork is currently at KineticCafe/hurley but we will be renaming it as @technoweenie has requested once we come up with a good name.
from hurley.
The only thing I've written about Hurley outside of its code/README is lostisland/faraday#454. That outlines my initial goals. The big one was dropping the rack-inspired middleware system, into before and after callbacks on a Hurley::Client
. I was also inspired by Go's HTTP client.
One really common Faraday question was how to test a built faraday stack. Since the stack is just an array of middleware, you'd have to know the adapter's exact array index in the stack. I think most people just create some factory method that takes a faraday adapter (net/http, typhoeus, etc).
I prefer Hurley's client callbacks to the rack middleware.
FWIW I really like Hurley, and may even help out on the renamed project. I just don't have the bandwidth to lead the project right now. Figured it'd be better to just put it out of its misery now before more people start depending on it in their projects.
from hurley.
I've been tinkering with a Faraday/Hurley inspired library for the past few months, finally sitting down and extracting it fully now.
It follows the direction Hurley was headed, but the implementation has a few extra design goals:
- It represents all components of HTTP calls with plain-old ruby value objects. This makes it easy to add behavior the Ruby way, and translate between various low and high level HTTP adapters by having standard behaviour-less interim objects.
- It uses dependency injection heavily, so that objects can be reused often and tested simply.
- Internally it does mutation only on object initialization, to minimize potentially invalid states and be somewhat thread-safe without being clever. Public mutation methods return duped modified objects.
- It extends the callback system with a 'pipeline' object that's a collection of before, around, and after callbacks, and wraps it up in an elegant little DSL.
I've about wrapped up the proof of concept, so once I document and push publicly I'll link to it here.
from hurley.
@christhekeele, Your ideas looks same as mine. Did you released anything interesting? I really excited to take a look at it and provide feedback!
from hurley.
@zekefast It's preeeeeety beta still, since I no longer work the job I was building it for, so progress is now slower and rarer. But I have every intention of continuing to work on it, so if you don't mind the rough edges, and maybe error reporting (π) or contributing (β€οΈ) then check it out--it's called clientele!
from hurley.
Related Issues (17)
- Feature request: Setting timeouts HOT 2
- Best approach for testing adapter gems HOT 3
- Crash when query string contains && HOT 1
- Mutex in hurley.rb HOT 4
- Issue Getting Basic Auth to Work HOT 5
- What about the middleware HOT 12
- Test stubs aren't consumed by the connection. HOT 5
- Issue getting from http://github.com on JRuby HOT 7
- Hurley.default not being respected HOT 1
- simple query building unclear HOT 1
- Release hurley 0.2 with current bug fixes HOT 1
- Url.parse does not handle repeated query parameters correctly HOT 1
- on_body filtering broken HOT 1
- on_body listeners lost during redirects
- Hurley Typhoeus HOT 3
- 0.3 release HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hurley.