public function copyObject($fromBucket, $fromObject, $toBucket, $toObject, $options = NULL)
{
$this->precheckCommon($fromBucket, $fromObject, $options);
$this->precheckCommon($toBucket, $toObject, $options);
$options[self::OSS_BUCKET] = $toBucket;
$options[self::OSS_METHOD] = self::OSS_HTTP_PUT;
$options[self::OSS_OBJECT] = $toObject;
if (isset($options[self::OSS_HEADERS])) {
$options[self::OSS_HEADERS][self::OSS_OBJECT_COPY_SOURCE] = '/' . $fromBucket . '/' . $fromObject;
} else {
$options[self::OSS_HEADERS] = array(self::OSS_OBJECT_COPY_SOURCE => '/' . $fromBucket . '/' . $fromObject);
}
$response = $this->auth($options);
$result = new PutSetDeleteResult($response);
return $result->getData();
}