Closed nirnanaaa closed 10 years ago
Yeah, run rainbows via bundle exec rainbows consumer.ru -p 7474
and make sure its the right version. I believe you're running rainbows 4.5 since versions prior don't work with the rack.hijack API.
We're working on getting this working with rainbows 4.5 with issue https://github.com/polleverywhere/firehose/issues/22. The problem is that we're running into some low-level EM issues in the test suite.
I don't get it. bundle exec rainbows consumer.ru -p 7474
as you have mentioned above throws the exact same errors.
Rainbows version with bundle prefixed:
~/code/firehose[master*]% bundle exec rainbows -v
Rainbows! v4.4.3
You can also see in the example above, that this was also 4.4.3
Even if I run the bin/firehose server
in the same directory as the bundle exec rainbows
I am getting these errors.
What happens if you run via https://gist.github.com/bradgessler/f2416efdbb1771e983b3
I think newest version of Rack::Lint might not be compatible with older version of Rainbows. You might try bumping the version of rack down below 1.5.x series and running in dev mode (production removes the Lint middleware)
Okay strange this seems to work.
Locking Rack down to 1.4.5 resulted in another error about content type missing or something.
Without the
require 'faye/websocket'
Faye::WebSocket.load_adapter('rainbows')
It results in the same kind of error as when using thin.
Seems like I need to specify the environment in rainbows. Otherwise the above error will happen. I think I don't need the dev env.
The -c rainbows.conf
can be skipped in my case.
Thanks a lot for your help.
The
require 'faye/websocket'
Faye::WebSocket.load_adapter('rainbows')
business is required for everything prior to rack 1.5.x because it monkey patches rack.hijack. Looks like I need to change the rack dependency on the gem to ~> 1.4.0
in the firehose 1.2.x series.
I just cut a 1.2.10
release of the firehose gem that tightens up these dependencies http://rubygems.org/gems/firehose
I'll release 1.3.0 when rainbows 4.5 compatibility is working.
I think the rack version does not matter. Even if i use rack 1.4.0 I am getting errors in development mode:
Rack::Lint::LintError: Status must be >=100 seen as integer
Production works just fine as Rack::Lint is not used.
Also the -c
switch seems to be necessary
Yeah, deep underneath the covers rack returns a status code of -1
to signal that the body is a block so that the response can be streamed. I believe rack.hijack
changes this behavior, but I need to upgrade to Rainbows! 4.5 for that to work properly.
Hi,
I want to use the consumer as described in the README.
My
consumer.ru
file:In my Gemfile I have locked rainbows to 4.4.3 and using the git checkout of firehose.
I start up rainbows now by calling:
Anyway if I try to connect via the Javascript library I am just getting this error message in the rainbows log:
And the browsers console just throws this:
If I start the consumer in thin I get this in my thin log:
And an
Upgrade header missing
in my Browsers console.Redis version:
Ruby:
Have I done something wrong or am I missing something?