[Nitro] Nitro on Apache

Robert Mela rob at robmela.com
Thu Oct 18 23:51:13 EDT 2007


Here's an initial cracking of the nut.  Needs much refinement.

I have no idea whether this handles posts or not -- my hope is all the 
gnarly details are now handled by handle_context in adapter.rb.

If the approach is acceptable then there's probably a lengthy method in 
raw/cgi.rb that can be removed.


require "raw/adapter"

# No multi-threading.
Og.thread_safe = false if defined?(Og) and Og.respond_to?(:thread_safe)

module Raw

# A plain CGI adapter. To be used only in development
# environments, this adapter is *extremely* slow for
# live/production environments. This adapter is provided for
# the sake of completeness.

  class CgiAdapter
    include AdapterHandlerMixin
  
    def start(server)     # for server in context of CGI this is start, 
middle and end!
      @application = server # expected by handle_context in adapter.rb
      context = Context.new(server)
      context.env = ENV
      uri = ENV['REQUEST_URI']
      script_name = ENV['SCRIPT_NAME']
      context.env['REQUEST_URI'] = uri.sub(/#{script_name}/i, '')
      handle_context( context )
      puts "Content-type: #{context.content_type}"
      context.response_headers['Content-length'] = 
context.output_buffer.length
      context.response_headers.each { |k,v| puts "#{k}: #{v}" }
      puts "\n"
      puts context.output_buffer
    end
  end
end

>
> Arne Brasseur wrote:
>> This seems the way to go, but unfortunately mod_proxy is not an 
>> option for me. I'm on shared hosting with little chance of changing 
>> apache's configuration, except by .htaccess files. It seems both cgi 
>> and fcgi adapters are simply broken because of changes to the adapter 
>> interface. E.g. what used to be class methods are now instance 
>> methods, but that's not all.
>>
>> Would it be hard to fix them? Or just one of them? I'm not too 
>> concerned about performance at this point, if it runs I'd be happy. 
>> If they're not being fixed please add a big BROKEN sign or remove 
>> them altogether.
>>
>> Thank you (once again)!
>>
>> (ab)
>
> _______________________________________________
> Nitro-general mailing list
> Nitro-general at rubyforge.org
> http://rubyforge.org/mailman/listinfo/nitro-general

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rob.vcf
Type: text/x-vcard
Size: 116 bytes
Desc: not available
Url : http://rubyforge.org/pipermail/nitro-general/attachments/20071018/fff4ffaa/attachment.vcf 


More information about the Nitro-general mailing list