public static function fromRestoreObject()

in src/Transform/ObjectBasic.php [954:991]


    public static function fromRestoreObject(Models\RestoreObjectRequest $request): OperationInput
    {
        Functions::assertFieldRequired('bucket', $request->bucket);
        Functions::assertFieldRequired('key', $request->key);
        $input = new OperationInput(
            'RestoreObject',
            'POST',
            ['Content-Type' => 'application/xml'],
        );
        $input->setBucket($request->bucket);
        $input->setKey($request->key);
        $input->setParameter('restore', '');
        $input->setOpMetadata('sub-resource', ["restore",]);
        $customSerializer = [
            static function (Models\RestoreObjectRequest $request, OperationInput $input) {
                if (isset($request->versionId)) {
                    $input->setParameter('versionId', $request->versionId);
                }
                if (isset($request->requestPayer)) {
                    $input->setHeader('x-oss-request-payer', $request->requestPayer);
                }
                if (isset($request->restoreRequest)) {
                    $xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><RestoreRequest></RestoreRequest>');
                    if (isset($request->restoreRequest->days)) {
                        $xml->addChild('Days', (string)$request->restoreRequest->days);
                    }
                    if (isset($request->restoreRequest->tier)) {
                        $tier = $xml->addChild('JobParameters');
                        $tier->addChild('Tier', $request->restoreRequest->tier);
                    }
                    $input->setBody(Utils::streamFor($xml->asXML()));
                }
            },
            [Functions::class, 'addContentMd5']
        ];
        Functions::serializeInputLite($request, $input, $customSerializer);
        return $input;
    }