Sha256: 013846e7eee815295ce15faa982ffe71432d2638324b05fbab5971421da03576

Contents?: true

Size: 871 Bytes

Versions: 3

Compression:

Stored size: 871 Bytes

Contents

require 'cgi'
require 'stringio'
require 'tempfile'

#--
# Adapt the default CGI object to suit Nitro.
#++

class CGI # :nodoc: all
  def env
    ENV
  end
end

# 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

# 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
  #--
  # No need for connection pooling, CGI uses process.
  #++
  
  def self.start(server)
    cgi = CGI.new
    Router.strip_path = cgi.env["SCRIPT_NAME"]
    Cgi.process(server, cgi, $stdin, $stdout)
  end
  
end

end

# * James Britt <james_b@neurogami.com>
# * George Moschovitis <gm@navel.gr>

Version data entries

3 entries across 3 versions & 1 rubygems

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