public static function fromPutObject()

in src/Transform/ObjectBasic.php [25:111]


    public static function fromPutObject(Models\PutObjectRequest $request): OperationInput
    {
        Functions::assertFieldRequired('bucket', $request->bucket);
        Functions::assertFieldRequired('key', $request->key);
        $input = new OperationInput(
            'PutObject',
            'PUT',
        );
        $input->setBucket($request->bucket);
        $input->setKey($request->key);
        $customSerializer = [
            static function (Models\PutObjectRequest $request, OperationInput $input) {
                if (isset($request->acl)) {
                    $input->setHeader('x-oss-object-acl', $request->acl);
                }
                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->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->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()
                    ));
                }
            },
            [Functions::class, 'addContentType']
        ];
        Functions::serializeInputLite($request, $input, $customSerializer);
        return $input;
    }