public static function toCopyObject()

in src/Transform/ObjectBasic.php [254:288]


    public static function toCopyObject(OperationOutput $output): Models\CopyObjectResult
    {
        $result = new Models\CopyObjectResult();
        $customDeserializer = [
            static function (Models\CopyObjectResult $result, OperationOutput $output) {
                // ResponseInterface supports case-insensitive header field name
                $resp = $output->getHttpResponse();
                if ($resp->hasHeader('x-oss-version-id')) {
                    $result->versionId = $resp->getHeader('x-oss-version-id')[0];
                }
                if ($resp->hasHeader('x-oss-hash-crc64ecma')) {
                    $result->hashCrc64 = $resp->getHeader('x-oss-hash-crc64ecma')[0];
                }
                if ($resp->hasHeader('x-oss-copy-source-version-id')) {
                    $result->sourceVersionId = $resp->getHeader('x-oss-copy-source-version-id')[0];
                }
                if ($resp->hasHeader('x-oss-server-side-encryption')) {
                    $result->serverSideEncryption = $resp->getHeader('x-oss-server-side-encryption')[0];
                }
                if ($resp->hasHeader('x-oss-server-side-data-encryption')) {
                    $result->serverSideDataEncryption = $resp->getHeader('x-oss-server-side-data-encryption')[0];
                }
                if ($resp->hasHeader('x-oss-server-side-encryption-key-id')) {
                    $result->serverSideEncryptionKeyId = $resp->getHeader('x-oss-server-side-encryption-key-id')[0];
                }
                $body = $output->getBody() != null ? $output->getBody()->getContents() : '';
                Functions::assertXmlRoot($body, 'CopyObjectResult');
                $xml = Utils::parseXml($body);
                $result->etag = Functions::tryToString($xml->ETag);
                $result->lastModified = Functions::tryToDatetime($xml->LastModified, 'Y-m-d\TH:i:s.000\Z');
            },
        ];
        Deserializer::deserializeOutput($result, $output, $customDeserializer);
        return $result;
    }