⇦ Back to HttpFactory classMethod getAvailableDriver
public static \Joomla\Http\TransportInterface|bool
getAvailableDriver
(mixed $options = [], mixed $default = null)
Finds an available http transport object for communication
Parameters
- array|\ArrayAccess $options Options for creating TransportInterface object
- array|string $default Adapter (string) or queue of adapters (array) to use
Returns
- \Joomla\Http\TransportInterface|bool Interface sub-class or boolean false if no adapters are available
Since
Method getAvailableDriver - Source code
/**
* Finds an available http transport object for communication
*
* @param array|\ArrayAccess $options Options for creating TransportInterface object
* @param array|string $default Adapter (string) or queue of adapters (array) to use
*
* @return TransportInterface|boolean Interface sub-class or boolean false if no adapters are available
*
* @since 3.0.0
*/
public static function getAvailableDriver($options = [], $default = null)
{
if (\is_null($default)) {
$availableAdapters = static::getHttpTransports();
} else {
settype($default, 'array');
$availableAdapters = $default;
}
// Check if there is at least one available http transport adapter
if (!\count($availableAdapters)) {
return false;
}
foreach ($availableAdapters as $adapter) {
/** @var $class TransportInterface */
$class = __NAMESPACE__ . '\\Transport\\' . ucfirst($adapter) . 'Transport';
if (!class_exists($class)) {
$class = 'JHttpTransport' . ucfirst($adapter);
}
if (class_exists($class) && $class::isSupported()) {
return new $class($options);
}
}
return false;
}