That's weird…
First of all, could you update Rack to 1.1 and try with that version?
If it's still broken, I think this monkey-patch should do it:
class Rack::Request
def params
self.GET.update(self.POST)
rescue EOFError, Errno::ESPIPE = e
self.GET
end
end
// Magnus Holm
On Thu, Jan 21, 2010 at 06:19, Garret Buell terr...@gmail.com wrote:
Hello all,
I'm running Camping 1.9.300 on DreamHost. Everything has been working
great for quite some time, then recently, visiting the Camping app
gives a 500 Internal Server Error. It seems as if something at
DreamHost was upgraded and now everything is broken. Even the basic
example Camping apps do not work so I suspect there is some
incompatibility with Camping and the current setup. I'm hoping someone
can help me figure out what is wrong.
Here is the relevant error log data:
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***]
/usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:150:in
`rewind': Illegal seek (Errno::ESPIPE)
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
/usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:150:in
`POST'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
/usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:160:in
`params'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
(eval):30:in `initialize'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
(eval):50:in `new'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
(eval):50:in `call'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
dispatch.cgi:16
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
/usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/content_length.rb:13:in
`call'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
/usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/content_length.rb:13:in
`call'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
/usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/cgi.rb:33:in
`serve'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
/usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/cgi.rb:7:in
`run'
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
dispatch.cgi:19
[Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] Premature
end of script headers: dispatch.cgi
My dispatch.cgi worked previously and nothing has been modified but here it
is:
#!/usr/bin/ruby
ENV['GEM_PATH'] = '/home/garret/.gems:/usr/lib/ruby/gems/1.8'
ENV['GEM_HOME'] = '/home/garret/.gems'
Dir.chdir '/home/garret/admin.*.com'
require 'admin'
app = Admin
fixed = lambda do |env|
r = env[REQUEST_URI][0..(env[REQUEST_URI].index(?)||0)-1]
d = r.length - (env[PATH_INFO]||'/').length
env[SCRIPT_NAME] = r[0...d]
env[PATH_INFO] = r[d..-1]
app.call(env)
end
Rack::Handler::CGI.run(fixed)
The
require 'admin'
app = Admin
can be replaced with any of the sample apps I've found with the same
effect.
Help?
Thanks,
Garret Buell
___
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list
___
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list