sonarrradarrplexorganizrnginxdashboardlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximux
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							326 lines
						
					
					
						
							6.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							326 lines
						
					
					
						
							6.7 KiB
						
					
					
				| <?php | |
| 
 | |
| /* | |
|  * This file is part of the Symfony package. | |
|  * | |
|  * (c) Fabien Potencier <fabien@symfony.com> | |
|  * | |
|  * For the full copyright and license information, please view the LICENSE | |
|  * file that was distributed with this source code. | |
|  */ | |
| 
 | |
| namespace Symfony\Component\Routing; | |
| 
 | |
| use Symfony\Component\HttpFoundation\Request; | |
| 
 | |
| /** | |
|  * Holds information about the current request. | |
|  * | |
|  * This class implements a fluent interface. | |
|  * | |
|  * @author Fabien Potencier <fabien@symfony.com> | |
|  * @author Tobias Schultze <http://tobion.de> | |
|  */ | |
| class RequestContext | |
| { | |
|     private $baseUrl; | |
|     private $pathInfo; | |
|     private $method; | |
|     private $host; | |
|     private $scheme; | |
|     private $httpPort; | |
|     private $httpsPort; | |
|     private $queryString; | |
|     private $parameters = array(); | |
| 
 | |
|     public function __construct(string $baseUrl = '', string $method = 'GET', string $host = 'localhost', string $scheme = 'http', int $httpPort = 80, int $httpsPort = 443, string $path = '/', string $queryString = '') | |
|     { | |
|         $this->setBaseUrl($baseUrl); | |
|         $this->setMethod($method); | |
|         $this->setHost($host); | |
|         $this->setScheme($scheme); | |
|         $this->setHttpPort($httpPort); | |
|         $this->setHttpsPort($httpsPort); | |
|         $this->setPathInfo($path); | |
|         $this->setQueryString($queryString); | |
|     } | |
| 
 | |
|     /** | |
|      * Updates the RequestContext information based on a HttpFoundation Request. | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function fromRequest(Request $request) | |
|     { | |
|         $this->setBaseUrl($request->getBaseUrl()); | |
|         $this->setPathInfo($request->getPathInfo()); | |
|         $this->setMethod($request->getMethod()); | |
|         $this->setHost($request->getHost()); | |
|         $this->setScheme($request->getScheme()); | |
|         $this->setHttpPort($request->isSecure() ? $this->httpPort : $request->getPort()); | |
|         $this->setHttpsPort($request->isSecure() ? $request->getPort() : $this->httpsPort); | |
|         $this->setQueryString($request->server->get('QUERY_STRING', '')); | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the base URL. | |
|      * | |
|      * @return string The base URL | |
|      */ | |
|     public function getBaseUrl() | |
|     { | |
|         return $this->baseUrl; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the base URL. | |
|      * | |
|      * @param string $baseUrl The base URL | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setBaseUrl($baseUrl) | |
|     { | |
|         $this->baseUrl = $baseUrl; | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the path info. | |
|      * | |
|      * @return string The path info | |
|      */ | |
|     public function getPathInfo() | |
|     { | |
|         return $this->pathInfo; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the path info. | |
|      * | |
|      * @param string $pathInfo The path info | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setPathInfo($pathInfo) | |
|     { | |
|         $this->pathInfo = $pathInfo; | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the HTTP method. | |
|      * | |
|      * The method is always an uppercased string. | |
|      * | |
|      * @return string The HTTP method | |
|      */ | |
|     public function getMethod() | |
|     { | |
|         return $this->method; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the HTTP method. | |
|      * | |
|      * @param string $method The HTTP method | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setMethod($method) | |
|     { | |
|         $this->method = strtoupper($method); | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the HTTP host. | |
|      * | |
|      * The host is always lowercased because it must be treated case-insensitive. | |
|      * | |
|      * @return string The HTTP host | |
|      */ | |
|     public function getHost() | |
|     { | |
|         return $this->host; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the HTTP host. | |
|      * | |
|      * @param string $host The HTTP host | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setHost($host) | |
|     { | |
|         $this->host = strtolower($host); | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the HTTP scheme. | |
|      * | |
|      * @return string The HTTP scheme | |
|      */ | |
|     public function getScheme() | |
|     { | |
|         return $this->scheme; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the HTTP scheme. | |
|      * | |
|      * @param string $scheme The HTTP scheme | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setScheme($scheme) | |
|     { | |
|         $this->scheme = strtolower($scheme); | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the HTTP port. | |
|      * | |
|      * @return int The HTTP port | |
|      */ | |
|     public function getHttpPort() | |
|     { | |
|         return $this->httpPort; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the HTTP port. | |
|      * | |
|      * @param int $httpPort The HTTP port | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setHttpPort($httpPort) | |
|     { | |
|         $this->httpPort = (int) $httpPort; | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the HTTPS port. | |
|      * | |
|      * @return int The HTTPS port | |
|      */ | |
|     public function getHttpsPort() | |
|     { | |
|         return $this->httpsPort; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the HTTPS port. | |
|      * | |
|      * @param int $httpsPort The HTTPS port | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setHttpsPort($httpsPort) | |
|     { | |
|         $this->httpsPort = (int) $httpsPort; | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the query string. | |
|      * | |
|      * @return string The query string without the "?" | |
|      */ | |
|     public function getQueryString() | |
|     { | |
|         return $this->queryString; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the query string. | |
|      * | |
|      * @param string $queryString The query string (after "?") | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setQueryString($queryString) | |
|     { | |
|         // string cast to be fault-tolerant, accepting null | |
|         $this->queryString = (string) $queryString; | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Returns the parameters. | |
|      * | |
|      * @return array The parameters | |
|      */ | |
|     public function getParameters() | |
|     { | |
|         return $this->parameters; | |
|     } | |
| 
 | |
|     /** | |
|      * Sets the parameters. | |
|      * | |
|      * @param array $parameters The parameters | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setParameters(array $parameters) | |
|     { | |
|         $this->parameters = $parameters; | |
| 
 | |
|         return $this; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets a parameter value. | |
|      * | |
|      * @param string $name A parameter name | |
|      * | |
|      * @return mixed The parameter value or null if nonexistent | |
|      */ | |
|     public function getParameter($name) | |
|     { | |
|         return isset($this->parameters[$name]) ? $this->parameters[$name] : null; | |
|     } | |
| 
 | |
|     /** | |
|      * Checks if a parameter value is set for the given parameter. | |
|      * | |
|      * @param string $name A parameter name | |
|      * | |
|      * @return bool True if the parameter value is set, false otherwise | |
|      */ | |
|     public function hasParameter($name) | |
|     { | |
|         return array_key_exists($name, $this->parameters); | |
|     } | |
| 
 | |
|     /** | |
|      * Sets a parameter value. | |
|      * | |
|      * @param string $name      A parameter name | |
|      * @param mixed  $parameter The parameter value | |
|      * | |
|      * @return $this | |
|      */ | |
|     public function setParameter($name, $parameter) | |
|     { | |
|         $this->parameters[$name] = $parameter; | |
| 
 | |
|         return $this; | |
|     } | |
| }
 | |
| 
 |