You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2012/06/14 10:35:05 UTC
[PATCH core] Core: Fixed instance_action method to do proper redirect when :action method does not return valid Instance object
From: Michal Fojtik <mf...@redhat.com>
Signed-off-by: Michal fojtik <mf...@redhat.com>
---
server/lib/deltacloud/helpers/deltacloud_helper.rb | 26 +++++++++----------
1 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/server/lib/deltacloud/helpers/deltacloud_helper.rb b/server/lib/deltacloud/helpers/deltacloud_helper.rb
index 6d8cb9b..de28590 100644
--- a/server/lib/deltacloud/helpers/deltacloud_helper.rb
+++ b/server/lib/deltacloud/helpers/deltacloud_helper.rb
@@ -110,25 +110,23 @@ module Deltacloud::Helpers
end
headers['X-Backend-Runtime'] = @benchmark.real.to_s
- status 202
if name == :destroy
- respond_to do |format|
- format.xml { return 204 }
- format.json { return 204 }
- format.html { return redirect(instances_url) }
+ response = respond_to do |format|
+ format.html { redirect(instances_url) }
end
+ halt 204, response
end
- if @instance.class != Instance
- response['Location'] = instance_url(params[:id])
- halt
- end
-
- respond_to do |format|
- format.xml { haml :"instances/show" }
- format.html { haml :"instances/show" }
- format.json {convert_to_json(:instance, @instance) }
+ unless @instance.class == Instance
+ redirect instance_url(params[:id])
+ else
+ response = respond_to do |format|
+ format.xml { haml :"instances/show" }
+ format.html { haml :"instances/show" }
+ format.json { xml_to_json("instances/show") }
+ end
+ halt 202, response
end
end
--
1.7.7.5 (Apple Git-26)