Class: BitClust::Interface

Inherits:
Object show all
Defined in:
lib/bitclust/interface.rb

Overview

Web server interface for BitClust server

Defined Under Namespace

Classes: CGI, FCGI, WEBrickServlet

Instance Method Summary collapse

Constructor Details

#initialize(webrick_conf = {}) ⇒ Interface

Returns a new instance of Interface.



23
24
25
26
# File 'lib/bitclust/interface.rb', line 23

def initialize(webrick_conf = {})
  @webrick_conf = webrick_conf
  @handler = ($bitclust_context_cache ||= yield)
end

Instance Method Details

#call(env) ⇒ Object

for rack



43
44
45
# File 'lib/bitclust/interface.rb', line 43

def call(env)
  @handler.handle(Rack::Request.new(env)).rack_finish
end

#get_instance(server) ⇒ Object

for WEBrick servlet



29
30
31
# File 'lib/bitclust/interface.rb', line 29

def get_instance(server)
  WEBrickServlet.new(server, @handler)
end

#mainObject



33
34
35
36
37
38
39
40
# File 'lib/bitclust/interface.rb', line 33

def main
  if fastcgi?
    FCGI.new(@webrick_conf).main(@handler)
  else
    # CGI, mod_ruby
    CGI.new(@webrick_conf).main(@handler)
  end
end