Class: Wunderbar::RackApp

Inherits:
Object
  • Object
show all
Defined in:
lib/wunderbar/rack.rb

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object

entry point for Rack



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/wunderbar/rack.rb', line 4

def call(env)
  @_env = env
  @_request = Rack::Request.new(env)
  @_response = Rack::Response.new
  Wunderbar.logger = @_request.logger
  if Wunderbar.safe? and $SAFE==0
    Proc.new { $SAFE=1; Wunderbar::CGI.call(self) }.call
  else
    Wunderbar::CGI.call(self)
  end
  @_response.finish
end

#envObject



28
29
30
# File 'lib/wunderbar/rack.rb', line 28

def env
  @_env
end

#out(headers, &block) ⇒ Object

redirect the output produced



18
19
20
21
22
23
24
25
26
# File 'lib/wunderbar/rack.rb', line 18

def out(headers,&block)
  status = headers.delete('status')
  @_response.status = status if status

  headers = Wunderbar::CGI.headers(headers)
  headers.each {|key, value| @_response[key] = value}

  @_response.write block.call unless @_request.head?
end

#paramsObject



32
33
34
# File 'lib/wunderbar/rack.rb', line 32

def params
  @_request.params
end

#requestObject



36
37
38
# File 'lib/wunderbar/rack.rb', line 36

def request
  @_request
end

#responseObject



40
41
42
# File 'lib/wunderbar/rack.rb', line 40

def response
  @_response
end