Sha256: 6afef333fd1e1c36974626d8dd91aede78dd26849556cc466ba4407755cb3d8a

Contents?: true

Size: 920 Bytes

Versions: 3

Compression:

Stored size: 920 Bytes

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 cant 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.

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

# * George Moschovitis <gm@navel.gr>

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nitro-0.29.0 lib/nitro/adapter/fastcgi.rb
nitro-0.30.0 lib/nitro/adapter/fastcgi.rb
nitro-0.31.0 lib/nitro/adapter/fastcgi.rb