From: Joe VLcek <[email protected]>
---
server/lib/deltacloud/helpers/deltacloud_helper.rb | 4 +++-
server/views/errors/403.xml.haml | 3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/server/lib/deltacloud/helpers/deltacloud_helper.rb
b/server/lib/deltacloud/helpers/deltacloud_helper.rb
index 4575ae2..bb023af 100644
--- a/server/lib/deltacloud/helpers/deltacloud_helper.rb
+++ b/server/lib/deltacloud/helpers/deltacloud_helper.rb
@@ -140,7 +140,9 @@ module Deltacloud::Helpers
end
def instance_action(name)
- original_instance = driver.instance(credentials, :id => params[:id])
+ unless original_instance = driver.instance(credentials, :id =>
params[:id])
+ return report_error(403)
+ end
# If original instance doesn't include called action
# return with 405 error (Method is not Allowed)
diff --git a/server/views/errors/403.xml.haml b/server/views/errors/403.xml.haml
index 4b4cf23..274ce82 100644
--- a/server/views/errors/403.xml.haml
+++ b/server/views/errors/403.xml.haml
@@ -1,6 +1,7 @@
%error{:url => "#{request.env['REQUEST_URI']}", :status =>
"#{response.status}"}
%backend{ :driver => driver_symbol, :provider =>
"#{Thread::current[:provider] || ENV['API_PROVIDER'] || 'default'}" }
- %backtrace=cdata(@error.backtrace.join("\n"))
+ - if @error.respond_to?(:backtrace) and [email protected]?
+ %backtrace=cdata(@error.backtrace.join("\n"))
- if params
%request
- params.each do |k, v|
--
1.7.11.7