def handle_request( request )
direct_action, action_name = action_and_action_name(request)
result = nil
@application.synchronize do
result = direct_action.perform_action(action_name)
if String === result then
response = CGIKit::Response.new
response.content = result.to_s
result = response
elsif !result.respond_to?(:generate_response) then
raise ActionResultError, \
"Direct action must return an object has generate_response()" +
" and not nil. - #{direct_action.class}##{action_name}"
end
response = result.generate_response
end
response.headers['Content-Type'] = 'application/xml'
response
end