[Nitro] class CgiUtils missing?

George Moschovitis george.moschovitis at gmail.com
Sun Nov 13 02:41:07 EST 2005


James, thanks for the report,

Guill is looking into this problem!

-g.


On 11/13/05, James Britt <james_b at neurogami.com> wrote:
> George Moschovitis wrote:
> >>Is there a real solution for this?
> >>
> >>I really want to get some Nitro apps up and running, as CGI under Apache
> >>2, but while code runs fine on Windows, it barfs on Linux.
> >>
> >>...
> >>
> >>Anyway, some suggestions on getting a real solution for the CGI issue
> >>would be much appreciated.
> >
> >
> >
> > Hello James,
> >
> > Is it possible that you could investigate this further? As I am not
> > using CGI and cannot easily setup an environment to test this, it
> > would be really helpful. GGI is only problematic on Linux?
> >
>
> I have problems on Windows as well.
>
> Here's what I've done (in the 0.24 gems code):
>
> In file lib/nitro/cgi.rb, changed
>
>
> context.headers = cgi.env
>   to
> context.headers = ENV
>
> And in file lib/nitro/adapter/cgi.rb, I have
>
>    Cgi.process(server, cgi, cgi, cgi)
>
>
> I *think* this use to be CgiUtils.process.  I forgot to track all my
> changes.
>
> So this gets me further.  But when I run a minimal app created by
> 'nitrogen app', I get errors in Nitro::Controller about index_action
> missing.
>
>
>
> DEBUG -- : Compiling action 'Nitro::Controller#index'\r
> ERROR -- : Error while handling '/'.\r
> ERROR -- : undefined method `index_action' for
> #<Nitro::Controller:0x32501a0>\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/gems/1.8/gems/nitro-0.24.0/lib/nitro/controller.rb:107:in
> `method_missing'\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/gems/1.8/gems/nitro-0.24.0/lib/nitro/render.rb:125:in
> `send'\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/gems/1.8/gems/nitro-0.24.0/lib/nitro/render.rb:125:in
> `render'\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/gems/1.8/gems/nitro-0.24.0/lib/nitro/cgi.rb:35:in
> `process'\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/gems/1.8/gems/nitro-0.24.0/lib/nitro/adapter/cgi.rb:18:in
> `start'\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/gems/1.8/gems/nitro-0.24.0/lib/nitro/server/runner.rb:242:in
> `invoke'\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/gems/1.8/gems/nitro-0.24.0/lib/nitro/server.rb:123:in
> `run'\r
> [Sat Nov 12 23:04:42 2005] [error] [client 127.0.0.1]
> C:/ruby/lib/ruby/site_ruby/1.8/nitro.rb:65:in `run'\r
>
>
>
> And then the same sort of stuff for error_action.
>
> My run.rb is this:
>
>
> #!/usr/bin/env ruby
>
> require 'nitro'
>
> Nitro.run
>
>
> So it seems the default controller knows nothing about index.  But I've
> yet to hear of anyone else mention this, so perhaps this is just a
> side-effect of my CGI changes.  Or no one is running the default run.rb
> file.
>
> If I try this:
>
> #!/usr/bin/env ruby
> require 'nitro'
>
> class MainController < Nitro::Controller
>    def index
>    end
> end
>
> Nitro.run( MainController )
>
> then I just get a blank page, although there is an index.xhtml file in
> /public.
>
>
> And this simply works:
>
> #!/usr/bin/env ruby
>
> require 'rubygems'
> require_gem 'nitro', '<0.24.0'
> Nitro.run
>
>
> Maybe I just need to replace the 0.24 cgi.rb files with those from 0.23?
>
>
>
> James
>


--
http://www.gmosx.com
http://www.navel.gr
http://www.nitrohq.com




More information about the Nitro-general mailing list