ZF-10017: Zend_Service_Amazon_S3::isObjectAvailable() fails on paths containing spaces


All public methods on Zend_Service_Amazon_S3 operating on objects internally call _fixupObjectName() to rawurlencode path parts.

Except, isObjectAvailable() does not do that. So, this code fails:

$objectName = 'mybucket/path with spaces/file.txt';
$s3->putObject('path/to/file.txt', $objectName); // OK, file is uploaded
$s3->isObjectAvailable($objectName); // throws Zend_Uri_Exception due to spaces in the object path

The solution is to add a call to _fixupObjectName($object) in isObjectAvailable().


Patch with test attached.

Applied to trunk and 1.11 release branch. Not sure if we'll do another RC to reflect this change, or simply incorporate it into the final release.