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;
}