CodeIgniter4/system/HTTP/RequestInterface.php
2021-07-24 19:30:51 +08:00

62 lines
1.5 KiB
PHP

<?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;
/**
* Expected behavior of an HTTP request
*
* @mixin IncomingRequest
* @mixin CLIRequest
* @mixin CURLRequest
*/
interface RequestInterface
{
/**
* Gets the user's IP address.
* Supplied by RequestTrait.
*
* @return string IP address
*/
public function getIPAddress(): string;
/**
* Validate an IP address
*
* @param string $ip IP Address
* @param string $which IP protocol: 'ipv4' or 'ipv6'
*
* @deprecated Use Validation instead
*/
public function isValidIP(string $ip, ?string $which = null): bool;
/**
* Get the request method.
* An extension of PSR-7's getMethod to allow casing.
*
* @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
*/
public function getMethod(bool $upper = false): string;
/**
* Fetch an item from the $_SERVER array.
* Supplied by RequestTrait.
*
* @param string $index Index for item to be fetched from $_SERVER
* @param null $filter A filter name to be applied
*
* @return mixed
*/
public function getServer($index = null, $filter = null);
}