Airship\Engine\Hail::params PHP Method

params() public method

Make sure we include the default params
public params ( array $params = [], string $url = '' ) : array
$params array
$url string (used for decision-making)
return array
    public function params(array $params = [], string $url = '') : array
    {
        $config = State::instance();
        $defaults = ['curl' => [CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_2]];
        /**
         * If we have pre-configured some global parameters, let's add them to
         * our defaults before we check if we need Tor support.
         */
        if (!empty($config->universal['guzzle'])) {
            $defaults = \array_merge($defaults, $config->universal['guzzle']);
        }
        /**
         * Support for Tor Hidden Services
         */
        if (\Airship\isOnionUrl($url)) {
            // A .onion domain should be a Tor Hidden Service
            $defaults['curl'][CURLOPT_PROXY] = 'http://127.0.0.1:9050/';
            $defaults['curl'][CURLOPT_PROXYTYPE] = CURLPROXY_SOCKS5;
            if (!\preg_match('#^https://', $url)) {
                // If it's a .onion site, HTTPS is not required.
                // If HTTPS is specified, still enforce it.
                unset($defaults['curl'][CURLOPT_SSLVERSION]);
            }
        } elseif (!empty($config->universal['tor-only'])) {
            // We were configured to use Tor for everything.
            $defaults['curl'][CURLOPT_PROXY] = 'http://127.0.0.1:9050/';
            $defaults['curl'][CURLOPT_PROXYTYPE] = CURLPROXY_SOCKS5;
        }
        return \array_merge($defaults, ['form_params' => $params]);
    }