You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by lu...@apache.org on 2010/07/09 01:40:53 UTC
svn commit: r962249 - in /incubator/deltacloud/trunk/server:
lib/deltacloud/base_driver/base_driver.rb server.rb
views/errors/backend_error.html.haml views/errors/backend_error.xml.haml
Author: lutter
Date: Thu Jul 8 23:40:53 2010
New Revision: 962249
URL: http://svn.apache.org/viewvc?rev=962249&view=rev
Log:
Error handling: BackendError for reporting unexplained backend problems
Added:
incubator/deltacloud/trunk/server/views/errors/backend_error.html.haml
incubator/deltacloud/trunk/server/views/errors/backend_error.xml.haml
Modified:
incubator/deltacloud/trunk/server/lib/deltacloud/base_driver/base_driver.rb
incubator/deltacloud/trunk/server/server.rb
Modified: incubator/deltacloud/trunk/server/lib/deltacloud/base_driver/base_driver.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/lib/deltacloud/base_driver/base_driver.rb?rev=962249&r1=962248&r2=962249&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/lib/deltacloud/base_driver/base_driver.rb (original)
+++ incubator/deltacloud/trunk/server/lib/deltacloud/base_driver/base_driver.rb Thu Jul 8 23:40:53 2010
@@ -20,6 +20,16 @@ module Deltacloud
class AuthException < Exception
end
+ class BackendError < StandardError
+ attr_reader :code, :cause, :details
+ def initialize(code, cause, message, details)
+ super(message)
+ @code = code
+ @cause = cause
+ @details = details
+ end
+ end
+
class BaseDriver
def self.define_hardware_profile(name,&block)
Modified: incubator/deltacloud/trunk/server/server.rb
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/server.rb?rev=962249&r1=962248&r2=962249&view=diff
==============================================================================
--- incubator/deltacloud/trunk/server/server.rb (original)
+++ incubator/deltacloud/trunk/server/server.rb Thu Jul 8 23:40:53 2010
@@ -81,6 +81,10 @@ error Deltacloud::AuthException do
report_error(403, "auth_exception")
end
+error Deltacloud::BackendError do
+ report_error(500, "backend_error")
+end
+
# Redirect to /api
get '/' do redirect '/api'; end
Added: incubator/deltacloud/trunk/server/views/errors/backend_error.html.haml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/views/errors/backend_error.html.haml?rev=962249&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/views/errors/backend_error.html.haml (added)
+++ incubator/deltacloud/trunk/server/views/errors/backend_error.html.haml Thu Jul 8 23:40:53 2010
@@ -0,0 +1,17 @@
+%h1 Backend Error
+
+%p= @error.message
+
+%dl
+ %di
+ %dt Request URL
+ %dd= request.env['REQUEST_URI']
+ %di
+ %dt Code
+ %dd= @error.code
+ %di
+ %dt Cause
+ %dd= @error.cause
+ %di
+ %dt Details
+ %dd= @error.details
Added: incubator/deltacloud/trunk/server/views/errors/backend_error.xml.haml
URL: http://svn.apache.org/viewvc/incubator/deltacloud/trunk/server/views/errors/backend_error.xml.haml?rev=962249&view=auto
==============================================================================
--- incubator/deltacloud/trunk/server/views/errors/backend_error.xml.haml (added)
+++ incubator/deltacloud/trunk/server/views/errors/backend_error.xml.haml Thu Jul 8 23:40:53 2010
@@ -0,0 +1,8 @@
+%error{:url => "#{request.env['REQUEST_URI']}", :status => "#{response.status}"}
+ %kind backend_error
+ %backend{ :driver => DRIVER }
+ %code= @error.code
+ %cause= @error.cause
+ - if @error.details
+ %details #{@error.details}
+ %message #{@error.message}