Class: N::FastCGI

Inherits:
Object show all
Defined in:
lib/nitro/adapters/fastcgi.rb

Overview

FastCGI Adaptor. FastCGI is a language independent, scalable, open extension to CGI that provides high performance without the limitations of server specific APIs.

Class Method Summary collapse

Class Method Details

.start(conf) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/nitro/adapters/fastcgi.rb', line 23

def self.start(conf)
	conf = Flexob.new(conf) unless conf.is_a?(Flexob)
	
	FCGI.each do |cgi|

		context = Context.new(conf)

		context.in = cgi.in
		context.headers = cgi.env

		CgiUtils.parse_params(context)
		CgiUtils.parse_cookies(context)
		
		# gmosx, TODO: move this into a filter.
		Og.db.get_connection if defined?(Og)

		context.render(context.path)

		Og.db.put_connection if defined?(Og)

		cgi.out.print(CgiUtils.response_headers(context))
		cgi.out.print(context.out)

		cgi.finish

	end
end