public static function toHeadObject()

in src/Transform/ObjectBasic.php [763:868]


    public static function toHeadObject(OperationOutput $output): Models\HeadObjectResult
    {
        $result = new Models\HeadObjectResult();
        $customDeserializer = [
            static function (Models\HeadObjectResult $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-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-request-charged')) {
                    $result->requestCharged = $resp->getHeader('x-oss-request-charged')[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];
                }
                if ($resp->hasHeader('Access-Control-Allow-Origin')) {
                    $result->allowOrigin = $resp->getHeader('Access-Control-Allow-Origin')[0];
                }
                if ($resp->hasHeader('Access-Control-Allow-Methods')) {
                    $result->allowMethods = $resp->getHeader('Access-Control-Allow-Methods')[0];
                }
                if ($resp->hasHeader('Access-Control-Allow-Age')) {
                    $result->allowAge = $resp->getHeader('Access-Control-Allow-Age')[0];
                }
                if ($resp->hasHeader('Access-Control-Allow-Headers')) {
                    $result->allowHeaders = $resp->getHeader('Access-Control-Allow-Headers')[0];
                }
                if ($resp->hasHeader('Access-Control-Expose-Headers')) {
                    $result->exposeHeaders = $resp->getHeader('Access-Control-Expose-Headers')[0];
                }
                if ($resp->hasHeader('x-oss-transition-time')) {
                    $result->transitionTime = \DateTime::createFromFormat(
                        'D, d M Y H:i:s \G\M\T',
                        $resp->getHeader('x-oss-transition-time')[0],
                        new \DateTimeZone('UTC')
                    );
                }
                // usermetadata
                $result->metadata = Functions::tryUserMetadata($output->getHeaders());
            },
        ];
        Deserializer::deserializeOutput($result, $output, $customDeserializer);
        return $result;
    }