def handle
      @start = env["merb.request_start"] = Time.now
      Merb.logger.info { "Started request handling: #{start.to_s}" }
      
      find_route!
      return rack_response if handled?
      
      klass = controller
      Merb.logger.debug { "Routed to: #{klass::_filter_params(params).inspect}" }
      
      unless klass < Controller
        raise NotFound, 
          "Controller '#{klass}' not found.\n" \
          "If Merb tries to find a controller for static files, " \
          "you may need to check your Rackup file, see the Problems " \
          "section at: http://wiki.merbivore.com/pages/rack-middleware"
      end
      
      if klass.abstract?
        raise NotFound, "The '#{klass}' controller has no public actions"
      end
      
      dispatch_action(klass, params[:action])
    rescue Object => exception
      dispatch_exception(exception)
    end
def handle
      @start = env["merb.request_start"] = Time.now
      Merb.logger.info { "Started request handling: #{start.to_s}" }
      
      find_route!
      return rack_response if handled?
      
      klass = controller
      Merb.logger.debug { "Routed to: #{klass::_filter_params(params).inspect}" }
      
      unless klass < Controller
        raise NotFound, 
          "Controller '#{klass}' not found.\n" \
          "If Merb tries to find a controller for static files, " \
          "you may need to check your Rackup file, see the Problems " \
          "section at: http://wiki.merbivore.com/pages/rack-middleware"
      end
      
      if klass.abstract?
        raise NotFound, "The '#{klass}' controller has no public actions"
      end
      
      dispatch_action(klass, params[:action])
    rescue Object => exception
      dispatch_exception(exception)
    end
Handles request routing and action dispatch.

 ==== Returns
 Array[Integer, Hash, #each]:: A Rack response

 :api: private