<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Ok, this should fix FastCGI (and also CGI).<br>
<br>
Cgi.process has been factored out into a seperate handler class and
adapted to the way things currently work.<br>
<br>
I've tested both CGI and FastCGI with Lighttpd and wrote a Tip on
OxyWTF on how to configure Lighttpd for FastCGI.<br>
<br>
(ab)<br>
<br>
Arne Brasseur schreef:
<blockquote cite="mid47183AAD.2040303@arnebrasseur.net" type="cite">
  <pre wrap="">Patience, I'm almost done with this.

(ab)

Robert Mela schreef:
  </pre>
  <blockquote type="cite">
    <pre wrap="">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

    </pre>
    <blockquote type="cite">
      <pre wrap="">Arne Brasseur wrote:
      </pre>
      <blockquote type="cite">
        <pre wrap="">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)
        </pre>
      </blockquote>
      <pre wrap="">_______________________________________________
Nitro-general mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Nitro-general@rubyforge.org">Nitro-general@rubyforge.org</a>
<a class="moz-txt-link-freetext" href="http://rubyforge.org/mailman/listinfo/nitro-general">http://rubyforge.org/mailman/listinfo/nitro-general</a>
      </pre>
    </blockquote>
    <pre wrap="">_______________________________________________
Nitro-general mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Nitro-general@rubyforge.org">Nitro-general@rubyforge.org</a>
<a class="moz-txt-link-freetext" href="http://rubyforge.org/mailman/listinfo/nitro-general">http://rubyforge.org/mailman/listinfo/nitro-general</a>
    </pre>
  </blockquote>
  <pre wrap=""><!---->

  </pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
Arne Brasseur
<a class="moz-txt-link-freetext" href="http://www.arnebrasseur.net">http://www.arnebrasseur.net</a>
<a class="moz-txt-link-freetext" href="http://www.zhongwiki.com">http://www.zhongwiki.com</a>
<a class="moz-txt-link-freetext" href="http://www.bankske.org">http://www.bankske.org</a>
<a class="moz-txt-link-abbreviated" href="mailto:arne@arnebrasseur.net">arne@arnebrasseur.net</a>
</pre>
</body>
</html>