Update Composer, update everything
This commit is contained in:
parent
ea3e94409f
commit
dda5c284b6
19527 changed files with 1135420 additions and 351004 deletions
240
vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php
vendored
Normal file
240
vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php
vendored
Normal file
|
|
@ -0,0 +1,240 @@
|
|||
<?php
|
||||
/**
|
||||
* @see https://github.com/zendframework/zend-diactoros for the canonical source repository
|
||||
* @copyright Copyright (c) 2015-2017 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license https://github.com/zendframework/zend-diactoros/blob/master/LICENSE.md New BSD License
|
||||
*/
|
||||
|
||||
namespace Zend\Diactoros;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use Psr\Http\Message\UploadedFileInterface;
|
||||
use stdClass;
|
||||
use UnexpectedValueException;
|
||||
|
||||
use function array_change_key_case;
|
||||
use function array_key_exists;
|
||||
use function explode;
|
||||
use function implode;
|
||||
use function is_array;
|
||||
use function is_callable;
|
||||
use function strtolower;
|
||||
|
||||
use const CASE_LOWER;
|
||||
|
||||
/**
|
||||
* Class for marshaling a request object from the current PHP environment.
|
||||
*
|
||||
* Logic largely refactored from the ZF2 Zend\Http\PhpEnvironment\Request class.
|
||||
*
|
||||
* @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
abstract class ServerRequestFactory
|
||||
{
|
||||
/**
|
||||
* Function to use to get apache request headers; present only to simplify mocking.
|
||||
*
|
||||
* @var callable
|
||||
*/
|
||||
private static $apacheRequestHeaders = 'apache_request_headers';
|
||||
|
||||
/**
|
||||
* Create a request from the supplied superglobal values.
|
||||
*
|
||||
* If any argument is not supplied, the corresponding superglobal value will
|
||||
* be used.
|
||||
*
|
||||
* The ServerRequest created is then passed to the fromServer() method in
|
||||
* order to marshal the request URI and headers.
|
||||
*
|
||||
* @see fromServer()
|
||||
* @param array $server $_SERVER superglobal
|
||||
* @param array $query $_GET superglobal
|
||||
* @param array $body $_POST superglobal
|
||||
* @param array $cookies $_COOKIE superglobal
|
||||
* @param array $files $_FILES superglobal
|
||||
* @return ServerRequest
|
||||
* @throws InvalidArgumentException for invalid file values
|
||||
*/
|
||||
public static function fromGlobals(
|
||||
array $server = null,
|
||||
array $query = null,
|
||||
array $body = null,
|
||||
array $cookies = null,
|
||||
array $files = null
|
||||
) {
|
||||
$server = normalizeServer(
|
||||
$server ?: $_SERVER,
|
||||
is_callable(self::$apacheRequestHeaders) ? self::$apacheRequestHeaders : null
|
||||
);
|
||||
$files = normalizeUploadedFiles($files ?: $_FILES);
|
||||
$headers = marshalHeadersFromSapi($server);
|
||||
|
||||
if (null === $cookies && array_key_exists('cookie', $headers)) {
|
||||
$cookies = parseCookieHeader($headers['cookie']);
|
||||
}
|
||||
|
||||
return new ServerRequest(
|
||||
$server,
|
||||
$files,
|
||||
marshalUriFromSapi($server, $headers),
|
||||
marshalMethodFromSapi($server),
|
||||
'php://input',
|
||||
$headers,
|
||||
$cookies ?: $_COOKIE,
|
||||
$query ?: $_GET,
|
||||
$body ?: $_POST,
|
||||
marshalProtocolVersionFromSapi($server)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Access a value in an array, returning a default value if not found
|
||||
*
|
||||
* @deprecated since 1.8.0; no longer used internally.
|
||||
* @param string $key
|
||||
* @param array $values
|
||||
* @param mixed $default
|
||||
* @return mixed
|
||||
*/
|
||||
public static function get($key, array $values, $default = null)
|
||||
{
|
||||
if (array_key_exists($key, $values)) {
|
||||
return $values[$key];
|
||||
}
|
||||
|
||||
return $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Search for a header value.
|
||||
*
|
||||
* Does a case-insensitive search for a matching header.
|
||||
*
|
||||
* If found, it is returned as a string, using comma concatenation.
|
||||
*
|
||||
* If not, the $default is returned.
|
||||
*
|
||||
* @deprecated since 1.8.0; no longer used internally.
|
||||
* @param string $header
|
||||
* @param array $headers
|
||||
* @param mixed $default
|
||||
* @return string
|
||||
*/
|
||||
public static function getHeader($header, array $headers, $default = null)
|
||||
{
|
||||
$header = strtolower($header);
|
||||
$headers = array_change_key_case($headers, CASE_LOWER);
|
||||
if (array_key_exists($header, $headers)) {
|
||||
$value = is_array($headers[$header]) ? implode(', ', $headers[$header]) : $headers[$header];
|
||||
return $value;
|
||||
}
|
||||
|
||||
return $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Marshal the $_SERVER array
|
||||
*
|
||||
* Pre-processes and returns the $_SERVER superglobal.
|
||||
*
|
||||
* @deprected since 1.8.0; use Zend\Diactoros\normalizeServer() instead.
|
||||
* @param array $server
|
||||
* @return array
|
||||
*/
|
||||
public static function normalizeServer(array $server)
|
||||
{
|
||||
return normalizeServer(
|
||||
$server ?: $_SERVER,
|
||||
is_callable(self::$apacheRequestHeaders) ? self::$apacheRequestHeaders : null
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Normalize uploaded files
|
||||
*
|
||||
* Transforms each value into an UploadedFileInterface instance, and ensures
|
||||
* that nested arrays are normalized.
|
||||
*
|
||||
* @deprecated since 1.8.0; use \Zend\Diactoros\normalizeUploadedFiles instead.
|
||||
* @param array $files
|
||||
* @return array
|
||||
* @throws InvalidArgumentException for unrecognized values
|
||||
*/
|
||||
public static function normalizeFiles(array $files)
|
||||
{
|
||||
return normalizeUploadedFiles($files);
|
||||
}
|
||||
|
||||
/**
|
||||
* Marshal headers from $_SERVER
|
||||
*
|
||||
* @deprecated since 1.8.0; use Zend\Diactoros\marshalHeadersFromSapi().
|
||||
* @param array $server
|
||||
* @return array
|
||||
*/
|
||||
public static function marshalHeaders(array $server)
|
||||
{
|
||||
return marshalHeadersFromSapi($server);
|
||||
}
|
||||
|
||||
/**
|
||||
* Marshal the URI from the $_SERVER array and headers
|
||||
*
|
||||
* @deprecated since 1.8.0; use Zend\Diactoros\marshalUriFromSapi() instead.
|
||||
* @param array $server
|
||||
* @param array $headers
|
||||
* @return Uri
|
||||
*/
|
||||
public static function marshalUriFromServer(array $server, array $headers)
|
||||
{
|
||||
return marshalUriFromSapi($server, $headers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Marshal the host and port from HTTP headers and/or the PHP environment
|
||||
*
|
||||
* @deprecated since 1.8.0; use Zend\Diactoros\marshalUriFromSapi() instead,
|
||||
* and pull the host and port from the Uri instance that function
|
||||
* returns.
|
||||
* @param stdClass $accumulator
|
||||
* @param array $server
|
||||
* @param array $headers
|
||||
*/
|
||||
public static function marshalHostAndPortFromHeaders(stdClass $accumulator, array $server, array $headers)
|
||||
{
|
||||
$uri = marshalUriFromSapi($server, $headers);
|
||||
$accumulator->host = $uri->getHost();
|
||||
$accumulator->port = $uri->getPort();
|
||||
}
|
||||
|
||||
/**
|
||||
* Detect the base URI for the request
|
||||
*
|
||||
* Looks at a variety of criteria in order to attempt to autodetect a base
|
||||
* URI, including rewrite URIs, proxy URIs, etc.
|
||||
*
|
||||
* @deprecated since 1.8.0; use Zend\Diactoros\marshalUriFromSapi() instead,
|
||||
* and pull the path from the Uri instance that function returns.
|
||||
* @param array $server
|
||||
* @return string
|
||||
*/
|
||||
public static function marshalRequestUri(array $server)
|
||||
{
|
||||
$uri = marshalUriFromSapi($server, []);
|
||||
return $uri->getPath();
|
||||
}
|
||||
|
||||
/**
|
||||
* Strip the query string from a path
|
||||
*
|
||||
* @deprecated since 1.8.0; no longer used internally.
|
||||
* @param mixed $path
|
||||
* @return string
|
||||
*/
|
||||
public static function stripQueryString($path)
|
||||
{
|
||||
return explode('?', $path, 2)[0];
|
||||
}
|
||||
}
|
||||
Reference in a new issue