public static function fromPutSymlink()

in src/Transform/ObjectBasic.php [1364:1404]


    public static function fromPutSymlink(Models\PutSymlinkRequest $request): OperationInput
    {
        Functions::assertFieldRequired('bucket', $request->bucket);
        Functions::assertFieldRequired('key', $request->key);
        Functions::assertFieldRequired('target', $request->target);
        $input = new OperationInput(
            'PutSymlink',
            'PUT',
        );
        $input->setBucket($request->bucket);
        $input->setKey($request->key);
        $input->setParameter('symlink', '');
        $input->setOpMetadata('sub-resource', ["symlink",]);
        $customSerializer = [
            static function (Models\PutSymlinkRequest $request, OperationInput $input) {
                if (isset($request->target)) {
                    $input->setHeader('x-oss-symlink-target', $request->target);
                }
                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->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']
        ];
        Functions::serializeInputLite($request, $input, $customSerializer);
        return $input;
    }