public static function fromUploadPart()

in src/Transform/ObjectMultipart.php [125:199]


    public static function fromUploadPart(Models\UploadPartRequest $request): OperationInput
    {
        Functions::assertFieldRequired('bucket', $request->bucket);
        Functions::assertFieldRequired('key', $request->key);
        Functions::assertFieldRequired('partNumber', $request->partNumber);
        Functions::assertFieldRequired('uploadId', $request->uploadId);
        $input = new OperationInput(
            'UploadPart',
            'PUT',
        );
        $input->setBucket($request->bucket);
        $input->setKey($request->key);
        $customSerializer = [
            static function (Models\UploadPartRequest $request, OperationInput $input) {
                if (isset($request->partNumber)) {
                    $input->setParameter('partNumber', strval($request->partNumber));
                }
                if (isset($request->uploadId)) {
                    $input->setParameter('uploadId', $request->uploadId);
                }
                if (isset($request->contentLength)) {
                    $input->setHeader('Content-Length', (string)$request->contentLength);
                }
                if (isset($request->contentMd5)) {
                    $input->setHeader('Content-MD5', $request->contentMd5);
                }
                if (isset($request->trafficLimit)) {
                    $input->setHeader('x-oss-traffic-limit', (string)$request->trafficLimit);
                }
                if (isset($request->requestPayer)) {
                    $input->setHeader('x-oss-request-payer', $request->requestPayer);
                }
                if (isset($request->body)) {
                    $input->setBody($request->body);
                }
                if (isset($request->progressFn) && $input->getBody() != null) {
                    $input->setBody(new ProgressStream(
                        $input->getBody(),
                        $request->progressFn,
                        $input->getBody()->getSize()
                    ));
                }
                if (isset($request->clientSideEncryptionKey)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-key", $request->clientSideEncryptionKey);
                }
                if (isset($request->clientSideEncryptionStart)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-start", $request->clientSideEncryptionStart);
                }
                if (isset($request->clientSideEncryptionCekAlg)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-cek-alg", $request->clientSideEncryptionCekAlg);
                }
                if (isset($request->clientSideEncryptionWrapAlg)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-wrap-alg", $request->clientSideEncryptionWrapAlg);
                }
                if (isset($request->clientSideEncryptionMatdesc)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-Matdesc", $request->clientSideEncryptionMatdesc);
                }
                if (isset($request->clientSideEncryptionUnencryptedContentMd5)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-unencrypted-content-md5", $request->clientSideEncryptionUnencryptedContentMd5);
                }
                if (isset($request->clientSideEncryptionUnencryptedContentLength)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-unencrypted-content-length", (string)$request->clientSideEncryptionUnencryptedContentLength);
                }
                if (isset($request->clientSideEncryptionDataSize)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-data-size", (string)$request->clientSideEncryptionDataSize);
                }
                if (isset($request->clientSideEncryptionPartSize)) {
                    $input->setHeader("x-oss-meta-client-side-encryption-part-size", (string)$request->clientSideEncryptionPartSize);
                }
            },
            [Functions::class, 'addContentType']
        ];
        Functions::serializeInputLite($request, $input, $customSerializer);
        return $input;
    }