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

Description

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().

Comments

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.