From c1337cd48db29e26278b2d9523f24189389d5817 Mon Sep 17 00:00:00 2001 From: Alessandro Lepore Date: Sat, 15 Oct 2016 12:02:25 +0200 Subject: [PATCH] fix S3 #delete_multiple_objects for UTF-8 names --- lib/fog/aws/requests/storage/delete_multiple_objects.rb | 2 +- tests/requests/storage/object_tests.rb | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/fog/aws/requests/storage/delete_multiple_objects.rb b/lib/fog/aws/requests/storage/delete_multiple_objects.rb index 042ebdc03..82029e6d1 100644 --- a/lib/fog/aws/requests/storage/delete_multiple_objects.rb +++ b/lib/fog/aws/requests/storage/delete_multiple_objects.rb @@ -46,7 +46,7 @@ module Fog end data << "" - headers['Content-Length'] = data.length + headers['Content-Length'] = data.bytesize headers['Content-MD5'] = Base64.encode64(OpenSSL::Digest::MD5.digest(data)). gsub("\n", '') diff --git a/tests/requests/storage/object_tests.rb b/tests/requests/storage/object_tests.rb index b9c602bb0..1fc0253f8 100644 --- a/tests/requests/storage/object_tests.rb +++ b/tests/requests/storage/object_tests.rb @@ -128,6 +128,10 @@ Shindo.tests('AWS::Storage | object requests', ['aws']) do Fog::Storage[:aws].delete_multiple_objects(@directory.identity, ['fog_object', 'fog_other_object']).body end + tests("#delete_multiple_objects('#{@directory.identity}', 'fØg_öbjèct', UTF-8)").succeeds do + Fog::Storage[:aws].delete_multiple_objects(@directory.identity, ['fØg_öbjèct']) + end + end fognonbucket = uniq_id('fognonbucket')