59 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| declare(strict_types=1);
 | |
| 
 | |
| namespace Nyholm\Psr7Server;
 | |
| 
 | |
| use Psr\Http\Message\ServerRequestInterface;
 | |
| use Psr\Http\Message\StreamInterface;
 | |
| 
 | |
| /**
 | |
|  * @author Tobias Nyholm <tobias.nyholm@gmail.com>
 | |
|  * @author Martijn van der Ven <martijn@vanderven.se>
 | |
|  */
 | |
| interface ServerRequestCreatorInterface
 | |
| {
 | |
|     /**
 | |
|      * Create a new server request from the current environment variables.
 | |
|      * Defaults to a GET request to minimise the risk of an \InvalidArgumentException.
 | |
|      * Includes the current request headers as supplied by the server through `getallheaders()`.
 | |
|      * If `getallheaders()` is unavailable on the current server it will fallback to its own `getHeadersFromServer()` method.
 | |
|      * Defaults to php://input for the request body.
 | |
|      *
 | |
|      * @throws \InvalidArgumentException if no valid method or URI can be determined
 | |
|      */
 | |
|     public function fromGlobals(): ServerRequestInterface;
 | |
| 
 | |
|     /**
 | |
|      * Create a new server request from a set of arrays.
 | |
|      *
 | |
|      * @param array                                $server  typically $_SERVER or similar structure
 | |
|      * @param array                                $headers typically the output of getallheaders() or similar structure
 | |
|      * @param array                                $cookie  typically $_COOKIE or similar structure
 | |
|      * @param array                                $get     typically $_GET or similar structure
 | |
|      * @param array                                $post    typically $_POST or similar structure
 | |
|      * @param array                                $files   typically $_FILES or similar structure
 | |
|      * @param StreamInterface|resource|string|null $body    Typically stdIn
 | |
|      *
 | |
|      * @throws \InvalidArgumentException if no valid method or URI can be determined
 | |
|      */
 | |
|     public function fromArrays(
 | |
|         array $server,
 | |
|         array $headers = [],
 | |
|         array $cookie = [],
 | |
|         array $get = [],
 | |
|         array $post = [],
 | |
|         array $files = [],
 | |
|         $body = null
 | |
|     ): ServerRequestInterface;
 | |
| 
 | |
|     /**
 | |
|      * Get parsed headers from ($_SERVER) array.
 | |
|      *
 | |
|      * @param array $server typically $_SERVER or similar structure
 | |
|      *
 | |
|      * @return array
 | |
|      */
 | |
|     public static function getHeadersFromServer(array $server): array;
 | |
| }
 |