HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //var/www/html/triad-infosec/wp-content/plugins/autoupdater/lib/Command/Connection.php
<?php
defined('AUTOUPDATER_LIB') or die;

class AutoUpdater_Command_Connection extends AutoUpdater_Command_Base
{
    /**
     * Gets a signed URL to AutoUpdater WordPress plugin API valid for 5 minutes to test the connection
     *
     * ## OPTIONS
     *
     * [--frontend]
     * : Outputs URL to the website's front-end instead of wp-admin
     *
     * [--endpoint=<endpoint>]
     * : Request endpoint. Use only if you know how to use it.
     *
     * [--priority=<integer>]
     * : WordPress code execution priority. The lower number, the higher priority:
     *   - 11 Low priority
     *   - 10 WordPress's default
     *   - 1 High priority
     *   - -1000 Highest possible priority
     *
     * @when before_wp_load
     */
    public function __invoke($args, $assoc_args)
    {
        $endpoint = !empty($assoc_args['endpoint']) ? $assoc_args['endpoint'] : 'child/verify';
        $priority = array_key_exists('priority', $assoc_args) ? (int) $assoc_args['priority'] : null;
        $frontend = isset($assoc_args['frontend']);

        WP_CLI::line('Run the following command to test the connection with the AutoUpdater WordPress plugin API.');
        if ($priority <= -1000) {
            WP_CLI::line('If you will not get a successful JSON response then generate and test a new URL with --priority=-1000 parameter');
        }
        WP_CLI::line("\n" . sprintf('curl -iL -H "Accept: application/json" -H "autoupdater-connector: 2.0" "%s"', $this->getWorkerPluginApiUrl($endpoint, $frontend, $priority)));
    }

    /**
     * @param string $endpoint
     * @param bool $frontend
     * @param int|null $priority
     */
    protected function getWorkerPluginApiUrl($endpoint = 'child/verify', $frontend = false, $priority = null)
    {
        $method = 'GET';
        $query = array(
            'wpe_timestamp' => time() + (5 * 60),
            'wpe_endpoint' => $endpoint,
        );

        if (is_int($priority)) {
            $query['wpe_priority'] = $priority;
        }

        $query['wpe_signature'] = AutoUpdater_Request::getApiRequestSignature($method, $query);

        foreach ($query as $key => $value) {
            $query[$key] = $key . '=' . rawurlencode($value);
        }
        $query = implode('&', $query);

        if ($frontend) {
            return site_url('?autoupdater=api') . '&' . $query;
        }

        return admin_url('admin-ajax.php?action=autoupdater_api&autoupdater=api') . '&' . $query;
    }

    public static function beforeInvoke()
    {
    }
}