Tobias Reif wrote:
> 1.
> How would the complete FastCGI program look that can serve anything,
> including Ruby programs that print their output?
> Something that can fulfill requests such as
> http://www.rubynewbies.com/~tobi/show_source.rb?file=show_source.rb&format=.xhtml
> or
> http://www.rubynewbies.com:9000/~tobi/show_source.rb?file=show_source.rb&format=.xhtml
> How would it pass on the parameters?

In the same way as they would be passed to a CGI application.
Often you can change a CGI program into a FastCGI program by simply putting
it into the request loop. 
 
The obligatory "Hello World" FastCGI application looks like:

  require "fcgi"

  FCGI.each_request do |f|
    $stdin = f.in
    puts "Content-type: text/html"
    puts
    puts "<html><body>Hello World</body></html>"
  end

You can also use class CGI as you would do in any other CGI program:

  require "fcgi"
  require "cgi"

  FCGI.each_request do |f|
    $stdin = f.in 
    c = CGI.new(...)
    puts "Content-type: text/html"
    puts
    puts "<html><body>Hello World</body></html>"
  end


The part of the FastCGI application that handles the request is the
code block passed to #each_request. For each request this block is
called. 


> 2.
> Are there security issues?

No more or less than with pure CGI.


Regards,

  Michael

-- 
Michael Neumann
merlin.zwo InfoDesign GmbH
http://www.merlin-zwo.de