From 0271195c041b0e499b439917783e8e13d08a3d9d Mon Sep 17 00:00:00 2001 From: Chris Gunther Date: Fri, 7 Dec 2018 11:11:38 -0500 Subject: [PATCH] Escape the source container and object name to be copied from Rackspace seems to 500 if your source object name has unicode characters that are not escaped. --- lib/fog/rackspace/requests/storage/copy_object.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/fog/rackspace/requests/storage/copy_object.rb b/lib/fog/rackspace/requests/storage/copy_object.rb index b53a144..0361bb7 100644 --- a/lib/fog/rackspace/requests/storage/copy_object.rb +++ b/lib/fog/rackspace/requests/storage/copy_object.rb @@ -15,7 +15,7 @@ class Real # @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500 # @raise [Fog::Storage::Rackspace::ServiceError] def copy_object(source_container_name, source_object_name, target_container_name, target_object_name, options={}) - headers = { 'X-Copy-From' => "/#{source_container_name}/#{source_object_name}" }.merge(options) + headers = { 'X-Copy-From' => "/#{Fog::Rackspace.escape(source_container_name)}/#{Fog::Rackspace.escape(source_object_name)}" }.merge(options) request({ :expects => 201, :headers => headers,