Sha256: cd2b400700520b299c1a744e4f03528f0ae90b86b0ba60dd0d2f1a61795b3536

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

require 'cgi'
require 'fcgi'

require 'nitro/context'
require 'nitro/dispatcher'
require 'nitro/cgi'

# Speeds things up, more comaptible with OSX.

Socket.do_not_reverse_lookup = true

# No multi-threading.

Og.thread_safe = false if defined?(Og) and Og.respond_to?(:thread_safe)

module Nitro

# FastCGI Adaptor. FastCGI is a language independent, 
# scalable, open extension to CGI that provides high 
# performance without the limitations of server 
# specific APIs.
#
# === Sessions
#
# As FCGI is process based, you have can't use the default
# in-memory session store. For production web sites you should
# use the drb session store. Moreover, there is no need for 
# DB connection pooling in Og.
#
#--
# gmosx: I always thought that the concept of FastCGI is stupid!
# Why don't you use a proxy setup? (For example Apache + Mongrel)
#++

class FastCGI

  def self.start(server)
    FCGI.each do |cgi|
      begin
        Cgi.process(server, cgi, cgi.in, cgi.out)
        cgi.finish
      end
    end
  end

end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nitro-0.41.0 lib/nitro/adapter/fastcgi.rb
nitro-0.40.0 lib/nitro/adapter/fastcgi.rb