in src/Transform/ObjectMultipart.php [231:286]
public static function fromCompleteMultipartUpload(Models\CompleteMultipartUploadRequest $request): OperationInput
{
Functions::assertFieldRequired('bucket', $request->bucket);
Functions::assertFieldRequired('key', $request->key);
Functions::assertFieldRequired('uploadId', $request->uploadId);
$input = new OperationInput(
'CompleteMultipartUpload',
'POST',
['Content-Type' => 'application/xml'],
['encoding-type' => 'url']
);
$input->setBucket($request->bucket);
$input->setKey($request->key);
$customSerializer = [
static function (Models\CompleteMultipartUploadRequest $request, OperationInput $input) {
if (isset($request->uploadId)) {
$input->setParameter('uploadId', $request->uploadId);
}
if (isset($request->encodingType)) {
$input->setParameter('encoding-type', $request->encodingType);
}
if (isset($request->acl)) {
$input->setHeader('x-oss-object-acl', $request->acl);
}
if (isset($request->callback)) {
$input->setHeader('x-oss-callback', $request->callback);
}
if (isset($request->callbackVar)) {
$input->setHeader('x-oss-callback-var', $request->callbackVar);
}
if (isset($request->forbidOverwrite)) {
$input->setHeader('x-oss-forbid-overwrite', $request->forbidOverwrite == true ? 'true' : 'false');
}
if (isset($request->requestPayer)) {
$input->setHeader('x-oss-request-payer', $request->requestPayer);
}
if (isset($request->completeMultipartUpload)) {
$xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><CompleteMultipartUpload></CompleteMultipartUpload>');
if (isset($request->completeMultipartUpload->parts)) {
foreach ($request->completeMultipartUpload->parts as $part) {
$xmlPart = $xml->addChild('Part');
$xmlPart->addChild('PartNumber', strval($part->partNumber));
$xmlPart->addChild('ETag', $part->etag);
}
}
$input->setBody(Utils::streamFor($xml->asXML()));
}
if (isset($request->completeAll)) {
$input->setHeader('x-oss-complete-all', $request->completeAll);
}
},
[Functions::class, 'addContentMd5']
];
Functions::serializeInputLite($request, $input, $customSerializer);
return $input;
}