Back to Http class

Method __construct

public
__construct
(mixed $options = [], \Joomla\Http\TransportInterface $transport = null)
Constructor.
Parameters
  • array|\ArrayAccess $options Client options array. If the registry contains any headers.* elements, these will be added to the request headers.
  • \Joomla\Http\TransportInterface $transport The HTTP transport object.
Since
  • 1.7.3
-
  • \InvalidArgumentException
Class: Http
Project: Joomla

Method __construct - Source code

/**
 * Constructor.
 *
 * @param   array|\ArrayAccess           $options    Client options array. If the registry contains any headers.* elements,
 *                                                   these will be added to the request headers.
 * @param   FrameworkTransportInterface  $transport  The HTTP transport object.
 *
 * @since   1.7.3
 * @throws  \InvalidArgumentException
 */
public function __construct($options = [], FrameworkTransportInterface $transport = null)
{
    if (!\is_array($options) && !$options instanceof \ArrayAccess) {
        throw new \InvalidArgumentException('The options param must be an array or implement the ArrayAccess interface.');
    }
    $this->options = $options;
    if (!isset($transport)) {
        $transport = HttpFactory::getAvailableDriver($this->options);
    }
    // Ensure the transport is a framework TransportInterface instance or bail out
    if (!$transport instanceof FrameworkTransportInterface) {
        throw new \InvalidArgumentException('A valid TransportInterface object was not set.');
    }
    $this->transport = $transport;
}