%PDF- %PDF-
| Direktori : /proc/self/root/www/loslex_o/tracker/vendor/slim/slim/Slim/Http/ |
| Current File : //proc/self/root/www/loslex_o/tracker/vendor/slim/slim/Slim/Http/Environment.php |
<?php
/**
* Slim Framework (https://slimframework.com)
*
* @license https://github.com/slimphp/Slim/blob/3.x/LICENSE.md (MIT License)
*/
namespace Slim\Http;
use Slim\Collection;
use Slim\Interfaces\Http\EnvironmentInterface;
/**
* This class decouples the Slim application from the global PHP environment.
* This is particularly useful for unit testing, but it also lets us create
* custom sub-requests.
*/
class Environment extends Collection implements EnvironmentInterface
{
/**
* {@inheritdoc}
*/
public static function mock(array $settings = [])
{
//Validates if default protocol is HTTPS to set default port 443
if ((isset($settings['HTTPS']) && $settings['HTTPS'] !== 'off') ||
((isset($settings['REQUEST_SCHEME']) && $settings['REQUEST_SCHEME'] === 'https'))) {
$defscheme = 'https';
$defport = 443;
} else {
$defscheme = 'http';
$defport = 80;
}
$data = array_merge([
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'REQUEST_SCHEME' => $defscheme,
'SCRIPT_NAME' => '',
'REQUEST_URI' => '',
'QUERY_STRING' => '',
'SERVER_NAME' => 'localhost',
'SERVER_PORT' => $defport,
'HTTP_HOST' => 'localhost',
'HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'HTTP_ACCEPT_LANGUAGE' => 'en-US,en;q=0.8',
'HTTP_ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'HTTP_USER_AGENT' => 'Slim Framework',
'REMOTE_ADDR' => '127.0.0.1',
'REQUEST_TIME' => time(),
'REQUEST_TIME_FLOAT' => microtime(true),
], $settings);
return new static($data);
}
}