From: David Lutterkort <lut...@redhat.com> --- server/lib/cimi/collections/credentials.rb | 2 +- server/lib/cimi/collections/machine_templates.rb | 3 +-- server/lib/cimi/collections/machines.rb | 5 ++--- server/lib/cimi/collections/volumes.rb | 3 +-- server/lib/cimi/helpers/cimi_helper.rb | 6 ++++++ 5 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/server/lib/cimi/collections/credentials.rb b/server/lib/cimi/collections/credentials.rb index f2ca059..28d497d 100644 --- a/server/lib/cimi/collections/credentials.rb +++ b/server/lib/cimi/collections/credentials.rb @@ -51,7 +51,7 @@ module CIMI::Collections else new_admin = Credential.create_from_xml(request.body.read, self) end - status 201 # Created + headers_for_create new_admin respond_to do |format| format.json { new_admin.to_json } format.xml { new_admin.to_xml } diff --git a/server/lib/cimi/collections/machine_templates.rb b/server/lib/cimi/collections/machine_templates.rb index a90f360..9a12915 100644 --- a/server/lib/cimi/collections/machine_templates.rb +++ b/server/lib/cimi/collections/machine_templates.rb @@ -50,8 +50,7 @@ module CIMI::Collections else new_machine_template = CIMI::Model::MachineTemplate.create_from_xml(request.body.read, self) end - status 201 # Created - headers 'Location' => new_machine_template.id + headers_for_create new_machine_template respond_to do |format| format.json { new_machine_template.to_json } format.xml { new_machine_template.to_xml } diff --git a/server/lib/cimi/collections/machines.rb b/server/lib/cimi/collections/machines.rb index 91fbc64..b18fb1c 100644 --- a/server/lib/cimi/collections/machines.rb +++ b/server/lib/cimi/collections/machines.rb @@ -51,8 +51,7 @@ module CIMI::Collections else new_machine = Machine.create_from_xml(request.body.read, self) end - status 201 # Created - headers 'Location' => new_machine.id + headers_for_create new_machine respond_to do |format| format.json { new_machine.to_json } format.xml { new_machine.to_xml } @@ -181,7 +180,7 @@ module CIMI::Collections volume_to_attach, location = MachineVolume.find_to_attach_from_xml(request.body.read, self) end machine_volume = Machine.attach_volume(volume_to_attach,location, self) - status 201 + headers_for_create machine_volume respond_to do |format| format.json{ machine_volume.to_json} format.xml{machine_volume.to_xml} diff --git a/server/lib/cimi/collections/volumes.rb b/server/lib/cimi/collections/volumes.rb index 1078014..c8edf56 100644 --- a/server/lib/cimi/collections/volumes.rb +++ b/server/lib/cimi/collections/volumes.rb @@ -51,8 +51,7 @@ module CIMI::Collections control do content_type = grab_content_type(request.content_type, request.body) new_volume = Volume.create(request.body.read, self, content_type) - status 201 - headers 'Location' => new_volume.id + headers_for_create new_volume respond_to do |format| format.json { new_volume.to_json } format.xml { new_volume.to_xml } diff --git a/server/lib/cimi/helpers/cimi_helper.rb b/server/lib/cimi/helpers/cimi_helper.rb index 3dd9501..713aeab 100644 --- a/server/lib/cimi/helpers/cimi_helper.rb +++ b/server/lib/cimi/helpers/cimi_helper.rb @@ -26,6 +26,12 @@ module CIMI status code end + # Set status to 201 and a Location header + def headers_for_create(resource) + status 201 + headers 'Location' => resource.id + end + def href_id(href, entity) split_on = self.send(:"#{entity.to_s}_url") href.split("#{split_on}/").last -- 1.7.7.6