[Nitro] Nitro on Apache
Arne Brasseur
arne at arnebrasseur.net
Fri Oct 19 01:03:41 EDT 2007
Patience, I'm almost done with this.
(ab)
Robert Mela schreef:
> 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
>
> _______________________________________________
> Nitro-general mailing list
> Nitro-general at rubyforge.org
> http://rubyforge.org/mailman/listinfo/nitro-general
--
Arne Brasseur
http://www.arnebrasseur.net
http://www.zhongwiki.com
http://www.bankske.org
arne at arnebrasseur.net
More information about the Nitro-general
mailing list