Class: Waves::Dispatchers::Default

Inherits:
Base show all
Defined in:
lib/dispatchers/default.rb

Instance Method Summary collapse

Methods inherited from Base

#call, #deferred?

Instance Method Details

#safe(request) ⇒ Object

Takes a Waves::Request and returns a Waves::Response



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/dispatchers/default.rb', line 8

def safe( request  )
  # set a default content type -- this can be overridden by the resource
  request.response.content_type = request.accept.default
  resource = Waves.config.resource.new( request )
  if request.response.body.empty?
    request.response.body << resource.process.to_s
  else
    resource.process
  end
  # okay, we've handled the request, now write the response unless it was already done
  request.response.finish
end