HEX
Server: nginx/1.28.3
System: Linux VM-0-7-opencloudos 6.6.117-45.oc9.x86_64 #1 SMP Thu Dec 4 10:26:39 CST 2025 x86_64
User: www (1000)
PHP: 8.2.28
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.213n.cn/wp-content/plugins/wpturbo/vendor/upyun/sdk/src/Upyun/Api/Pretreat.php
<?php
namespace Upyun\Api;

use GuzzleHttp\Client;
use Upyun\Config;
use Upyun\Signature;
use Upyun\Util;

class Pretreat
{

    /**
     * @var Config
     */
    protected $config;

    public function __construct(Config $config)
    {
        if (!$config->processNotifyUrl) {
            throw new \Exception("should config prosessNotifyUrl first.");
        }
        $this->config = $config;
    }

    public function process($tasks, $optionalParams = array())
    {
        $encodedTasks = Util::base64Json($tasks);

        $client = new Client([
            'timeout' => $this->config->timeout,
        ]);

        $params = array(
            'service' => $this->config->serviceName,
            'notify_url' => $this->config->processNotifyUrl,
            'tasks' => $encodedTasks,
        );

        $params = array_merge($params, $optionalParams);

        $path = '/pretreatment/';
        $method = 'POST';
        $signedHeaders = Signature::getHeaderSign($this->config, $method, $path);

        $url = $this->config->getPretreatEndPoint() . $path;
        $response = $client->request($method, $url, [
            'headers' => $signedHeaders,
            'form_params' => $params
        ]);

        $body = $response->getBody()->getContents();
        return json_decode($body, true);
    }


    public function query($taskIds, $path)
    {
        $client = new Client([
            'timeout' => $this->config->timeout,
        ]);

        $params = array(
            'service' => $this->config->serviceName,
            'task_ids' => implode(',', $taskIds)
        );
        $path = $path . '?' . http_build_query($params);

        $method = 'GET';
        $url = $this->config->getPretreatEndPoint() . $path;
        $signedHeaders = Signature::getHeaderSign($this->config, $method, $path);
        $response = $client->request($method, $url, [
            'headers' => $signedHeaders
        ]);

        if ($response->getStatusCode() === 200) {
            $body = $response->getBody()->getContents();
            $result = json_decode($body, true);
            if (is_array($result)) {
                return $result['tasks'];
            }
        }
        return false;
    }
}