public static function fromInitiateMultipartUpload()

in src/Transform/ObjectMultipart.php [24:96]


    public static function fromInitiateMultipartUpload(Models\InitiateMultipartUploadRequest $request): OperationInput
    {
        Functions::assertFieldRequired('bucket', $request->bucket);
        Functions::assertFieldRequired('key', $request->key);
        $input = new OperationInput(
            'InitiateMultipartUpload',
            'POST',
            [],
            ['uploads' => '', 'encoding-type' => 'url']
        );
        $input->setBucket($request->bucket);
        $input->setKey($request->key);
        $customSerializer = [
            static function (Models\InitiateMultipartUploadRequest $request, OperationInput $input) {
                if (isset($request->encodingType)) {
                    $input->setParameter('encoding-type', $request->encodingType);
                }
                if (isset($request->storageClass)) {
                    $input->setHeader('x-oss-storage-class', $request->storageClass);
                }
                if (isset($request->metadata)) {
                    foreach ($request->metadata as $k => $v) {
                        $input->setHeader("x-oss-meta-$k", (string)$v);
                    }
                }
                if (isset($request->cacheControl)) {
                    $input->setHeader('Cache-Control', $request->cacheControl);
                }
                if (isset($request->contentDisposition)) {
                    $input->setHeader('Content-Disposition', $request->contentDisposition);
                }
                if (isset($request->contentEncoding)) {
                    $input->setHeader('Content-Encoding', $request->contentEncoding);
                }
                if (isset($request->contentLength)) {
                    $input->setHeader('Content-Length', (string)$request->contentLength);
                }
                if (isset($request->contentMd5)) {
                    $input->setHeader('Content-MD5', $request->contentMd5);
                }
                if (isset($request->contentType)) {
                    $input->setHeader('Content-Type', $request->contentType);
                }
                if (isset($request->expires)) {
                    $input->setHeader('Expires', $request->expires);
                }
                if (isset($request->serverSideEncryption)) {
                    $input->setHeader('x-oss-server-side-encryption', $request->serverSideEncryption);
                }
                if (isset($request->serverSideDataEncryption)) {
                    $input->setHeader('x-oss-server-side-data-encryption', $request->serverSideDataEncryption);
                }
                if (isset($request->serverSideEncryptionKeyId)) {
                    $input->setHeader('x-oss-server-side-encryption-key-id', $request->serverSideEncryptionKeyId);
                }
                if (isset($request->tagging)) {
                    $input->setHeader('x-oss-tagging', $request->tagging);
                }
                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);
                }
            },
            [Functions::class, 'addContentMd5']
        ];
        if ($request->disableAutoDetectMimeType !== true) {
            $customSerializer[] = [Functions::class, 'addContentType'];
        }
        Functions::serializeInputLite($request, $input, $customSerializer);
        return $input;
    }