Adds Reel as a server adapter.
WIP Reel adapter. [ci skip]
Fixing Reel adapter.
- Ensure callback only runs when connection has a request.
- Pull 'Host' header out with fetch to bypass transform_key.
- Reference correct variable in body-prepping case statement.
Use streaming response to handle enumerable bodies.
Merge pull request #46 from SebastianEdwards/reel
Fix Reel Adapter
Reel::Response supports Enumerables natively now
Merge pull request #50 from tarcieri/reel
Update to current Reel API
I like it. +1
What does this need to get merged? Just merge master?
Tests would probably be helpful, and the "if wreq" should probably be "while wreq" (for Keep-Alive support):
Seems like the extracted LazyRequestBody class should be useful for the Rack and Mongrel adapters as well. There are slight differences between the adapters' RequestBody implementations as is. Once this is merged we should look into consolidating them.
Use reel gem
I just released Reel 0.1.0 and fixed the gem dependencies
One small tweak...
Good to go now. Reel adapter spec fixed.
Merge branch 'originalmachine-reel' into reel
Merge branch 'master' into reel
@seancribbs I think this is ready to merge...
This pull request fails (merged 5c09bb8 into aedcfa2).
Belay that ;) Investigating...
Hmmm, looks like we need to disable the Reel specs on 1.8...
Only run Reel specs on Ruby 1.9
This pull request fails (merged 5fdedc0 into aedcfa2).
HTTP KA support
@seancribbs okay, this should be ready to merge aside from that unrelated test failure on JRuby 1.9. It's working fine for me here
This pull request fails (merged 2eb6323 into aedcfa2).
The .gemspec is only being evaluated when building the gem and when developing using Bundler, so this will result in different gems being built depending on the Ruby version you run gem build on.
It's a development dependency. Is that really an issue?
Do you have a better suggestion?
An alternative might be to pull development dependencies in through the Gemfile instead of the gemspec
@tarcieri If you can fix that one thing in the gemspec (the 1.9 conditional stuff), this should be ready to merge.
Manage web server dependencies through Gemfile
Disable build on jruby19 for now
This pull request fails (merged 7baa24d into aedcfa2).
This pull request passes (merged f8e95ac into aedcfa2).
@seancribbs should be good to go now
@tarcieri What's wrong with JRuby 1.9-mode?
@seancribbs it appears to be related to mongrel. See: http://travis-ci.org/#!/seancribbs/webmachine-ruby/jobs/2171020
I enabled checks on Travis for 1.9 mode for both JRuby and rbx to check Reel because it's 1.9 only, however it appears that mongrel doesn't work on JRuby in 1.9 mode.
Ok, we might be able to work around that. I'll look into it after I finish this feature branch.
Tweak Gemfile to disable Mongrel 1.2 beta on JRuby.
This pull request fails (merged 3f8028b into aedcfa2).
Well that build failure seems rather odd... I'll investigate.
I believe you can use :platform => :cruby to accomplish the same effect
:platform => :cruby
@tarcieri Yeah, according to the Gemfile manual, 'ruby_19' should be sufficient to exclude JRuby. What gives?
@tarcieri Does Reel work on JRuby in 1.9 mode?
@seancribbs there's no reason I know of why it shouldn't. It doesn't look like reel is getting bundled per your comment about 'ruby_19'
Install Reel on JRuby, even if the specs only support 1.9.
Holy JRuby bug! http://travis-ci.org/#!/seancribbs/webmachine-ruby/jobs/2172803
This pull request fails (merged a6a02e1 into aedcfa2).
Use == instead of be.
This pull request passes (merged 82bd60e into aedcfa2).
Awesome to see this get merged. Thanks, @seancribbs and @tarcieri .
w00t! Glad this finally landed, although I already see #67... will take a look