public function upload(string $user, string $file, Slice $options = null): Slice
    {
        if (!File::isFile($file))
        {
            throw new \Bavix\Exceptions\NotFound\Path('File not found!');
        }

        if (!$options)
        {
            $options = $this->fake();
        }

        $token = $this->getToken(
            $user,
            $options->getData('scope', '')
        );

        return $this->apiSend(
            $this->uploadSlice($token, $options, $file),
            function () use ($user, $options, $file) {
                return $this->uploadSlice(
                    $this->tokenUpdate($user, $options),
                    $options,
                    $file
                );
            }
        );
    }
public function upload(string $user, string $file, Slice $options = null): Slice
    {
        if (!File::isFile($file))
        {
            throw new \Bavix\Exceptions\NotFound\Path('File not found!');
        }

        if (!$options)
        {
            $options = $this->fake();
        }

        $token = $this->getToken(
            $user,
            $options->getData('scope', '')
        );

        return $this->apiSend(
            $this->uploadSlice($token, $options, $file),
            function () use ($user, $options, $file) {
                return $this->uploadSlice(
                    $this->tokenUpdate($user, $options),
                    $options,
                    $file
                );
            }
        );
    }
@param string $user
@param string $file
@param Slice  $options

@return Slice

@throws Invalid