__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* Part of the Joomla Framework Http Package
*
* @copyright Copyright (C) 2005 - 2021 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
namespace Joomla\Http;
/**
* Abstract transport class.
*
* @since 2.0.0
*/
abstract class AbstractTransport implements TransportInterface
{
/**
* The client options.
*
* @var array|\ArrayAccess
* @since 2.0.0
*/
protected $options;
/**
* Constructor.
*
* @param array|\ArrayAccess $options Client options array.
*
* @since 2.0.0
* @throws \RuntimeException
*/
public function __construct($options = [])
{
if (!static::isSupported()) {
throw new \RuntimeException(sprintf('The %s transport is not supported in this environment.', \get_class($this)));
}
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;
}
/**
* Get an option from the HTTP transport.
*
* @param string $key The name of the option to get.
* @param mixed $default The default value if the option is not set.
*
* @return mixed The option value.
*
* @since 2.0.0
*/
protected function getOption(string $key, $default = null)
{
return $this->options[$key] ?? $default;
}
/**
* Processes the headers from a transport's response data.
*
* @param array $headers The headers to process.
*
* @return array
*
* @since 2.0.0
*/
protected function processHeaders(array $headers): array
{
$verifiedHeaders = [];
// Add the response headers to the response object.
foreach ($headers as $header) {
$pos = strpos($header, ':');
$keyName = trim(substr($header, 0, $pos));
if (!isset($verifiedHeaders[$keyName])) {
$verifiedHeaders[$keyName] = [];
}
$verifiedHeaders[$keyName][] = trim(substr($header, ($pos + 1)));
}
return $verifiedHeaders;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Exception | Folder | 0775 |
|
|
| Transport | Folder | 0775 |
|
|
| AbstractTransport.php | File | 2.3 KB | 0664 |
|
| Http.php | File | 10.07 KB | 0664 |
|
| HttpFactory.php | File | 3.59 KB | 0664 |
|
| Response.php | File | 1.58 KB | 0664 |
|
| TransportInterface.php | File | 1.38 KB | 0664 |
|