WordPress\AiClient\Providers\Http

HttpTransporter::buildGuzzleOptionsprivateWP 0.2.0

Converts request options to a Guzzle-compatible options array.

Method of the class: HttpTransporter{}

No Hooks.

Returns

Array. mixed> Guzzle-compatible options.

Usage

// private - for code of main (parent) class only
$result = $this->buildGuzzleOptions( $options ): array;
$options(RequestOptions) (required)
The request options.

Changelog

Since 0.2.0 Introduced.

HttpTransporter::buildGuzzleOptions() code WP 7.0.2

private function buildGuzzleOptions(RequestOptions $options): array
{
    $guzzleOptions = [];
    $timeout = $options->getTimeout();
    if ($timeout !== null) {
        $guzzleOptions['timeout'] = $timeout;
    }
    $connectTimeout = $options->getConnectTimeout();
    if ($connectTimeout !== null) {
        $guzzleOptions['connect_timeout'] = $connectTimeout;
    }
    $allowRedirects = $options->allowsRedirects();
    if ($allowRedirects !== null) {
        if ($allowRedirects) {
            $redirectOptions = [];
            $maxRedirects = $options->getMaxRedirects();
            if ($maxRedirects !== null) {
                $redirectOptions['max'] = $maxRedirects;
            }
            $guzzleOptions['allow_redirects'] = !empty($redirectOptions) ? $redirectOptions : \true;
        } else {
            $guzzleOptions['allow_redirects'] = \false;
        }
    }
    return $guzzleOptions;
}