public static function toGetObject()

in src/Transform/ObjectBasic.php [368:457]


    public static function toGetObject(OperationOutput $output): Models\GetObjectResult
    {
        $result = new Models\GetObjectResult();
        $customDeserializer = [
            static function (Models\GetObjectResult $result, OperationOutput $output) {
                // ResponseInterface supports case-insensitive header field name
                $resp = $output->getHttpResponse();
                if ($resp->hasHeader('Content-Length')) {
                    $result->contentLength = intval($resp->getHeader('Content-Length')[0]);
                }
                if ($resp->hasHeader('Content-Range')) {
                    $result->contentRange = $resp->getHeader('Content-Range')[0];
                }
                if ($resp->hasHeader('Content-Type')) {
                    $result->contentType = $resp->getHeader('Content-Type')[0];
                }
                if ($resp->hasHeader('ETag')) {
                    $result->etag = $resp->getHeader('ETag')[0];
                }
                if ($resp->hasHeader('Last-Modified')) {
                    $result->lastModified = \DateTime::createFromFormat(
                        'D, d M Y H:i:s \G\M\T',
                        $resp->getHeader('Last-Modified')[0],
                        new \DateTimeZone('UTC')
                    );
                }
                if ($resp->hasHeader('Content-MD5')) {
                    $result->contentMd5 = $resp->getHeader('Content-MD5')[0];
                }
                if ($resp->hasHeader('Cache-Control')) {
                    $result->cacheControl = $resp->getHeader('Cache-Control')[0];
                }
                if ($resp->hasHeader('Content-Disposition')) {
                    $result->contentDisposition = $resp->getHeader('Content-Disposition')[0];
                }
                if ($resp->hasHeader('Content-Encoding')) {
                    $result->contentEncoding = $resp->getHeader('Content-Encoding')[0];
                }
                if ($resp->hasHeader('Expires')) {
                    $result->expires = $resp->getHeader('Expires')[0];
                }
                if ($resp->hasHeader('x-oss-hash-crc64ecma')) {
                    $result->hashCrc64 = $resp->getHeader('x-oss-hash-crc64ecma')[0];
                }
                if ($resp->hasHeader('x-oss-storage-class')) {
                    $result->storageClass = $resp->getHeader('x-oss-storage-class')[0];
                }
                if ($resp->hasHeader('x-oss-object-type')) {
                    $result->objectType = $resp->getHeader('x-oss-object-type')[0];
                }
                if ($resp->hasHeader('x-oss-version-id')) {
                    $result->versionId = $resp->getHeader('x-oss-version-id')[0];
                }
                if ($resp->hasHeader('x-oss-tagging-count')) {
                    $result->taggingCount = intval($resp->getHeader('x-oss-tagging-count')[0]);
                }
                if ($resp->hasHeader('x-oss-next-append-position')) {
                    $result->nextAppendPosition = intval($resp->getHeader('x-oss-next-append-position')[0]);
                }
                if ($resp->hasHeader('x-oss-expiration')) {
                    $result->expiration = $resp->getHeader('x-oss-expiration')[0];
                }
                if ($resp->hasHeader('x-oss-restore')) {
                    $result->restore = $resp->getHeader('x-oss-restore')[0];
                }
                if ($resp->hasHeader('x-oss-process-status')) {
                    $result->processStatus = $resp->getHeader('x-oss-process-status')[0];
                }
                if ($resp->hasHeader('x-oss-delete-marker')) {
                    $result->deleteMarker = $resp->getHeader('x-oss-delete-marker')[0] === 'true';
                }
                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];
                }
                // usermetadata
                $result->metadata = Functions::tryUserMetadata($output->getHeaders());

                // body
                $result->body = $output->getBody();
            },
        ];
        Deserializer::deserializeOutput($result, $output, $customDeserializer);
        return $result;
    }