public static function fromCompleteMultipartUpload()

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