Viewing file: Request.php (2.86 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/** * This file is part of CodeIgniter 4 framework. * * (c) CodeIgniter Foundation <admin@codeigniter.com> * * For the full copyright and license information, please view * the LICENSE file that was distributed with this source code. */
namespace CodeIgniter\HTTP;
use CodeIgniter\Validation\FormatRules;
/** * Representation of an HTTP request. */ class Request extends Message implements MessageInterface, RequestInterface { use RequestTrait;
/** * Proxy IPs * * @var array|string * * @deprecated Check the App config directly */ protected $proxyIPs;
/** * Request method. * * @var string */ protected $method;
/** * A URI instance. * * @var URI */ protected $uri;
/** * Constructor. * * @param object $config * * @deprecated The $config is no longer needed and will be removed in a future version */ public function __construct($config = null) { /** * @deprecated $this->proxyIps property will be removed in the future */ $this->proxyIPs = $config->proxyIPs;
if (empty($this->method)) { $this->method = $this->getServer('REQUEST_METHOD') ?? 'GET'; }
if (empty($this->uri)) { $this->uri = new URI(); } }
/** * Validate an IP address * * @param string $ip IP Address * @param string $which IP protocol: 'ipv4' or 'ipv6' * * @deprecated Use Validation instead * * @codeCoverageIgnore */ public function isValidIP(?string $ip = null, ?string $which = null): bool { return (new FormatRules())->valid_ip($ip, $which); }
/** * Get the request method. * * @param bool $upper Whether to return in upper or lower case. * * @deprecated The $upper functionality will be removed and this will revert to its PSR-7 equivalent * * @codeCoverageIgnore */ public function getMethod(bool $upper = false): string { return ($upper) ? strtoupper($this->method) : strtolower($this->method); }
/** * Sets the request method. Used when spoofing the request. * * @return Request * * @deprecated Use withMethod() instead for immutability * * @codeCoverageIgnore */ public function setMethod(string $method) { $this->method = $method;
return $this; }
/** * Returns an instance with the specified method. * * @param string $method * * @return static */ public function withMethod($method) { $request = clone $this;
$request->method = $method;
return $request; }
/** * Retrieves the URI instance. * * @return URI */ public function getUri() { return $this->uri; } }
|