1<?php
2
3namespace Psr\Http\Message;
4
5interface ServerRequestFactoryInterface
6{
7    /**
8     * Create a new server request.
9     *
10     * Note that server-params are taken precisely as given - no parsing/processing
11     * of the given values is performed, and, in particular, no attempt is made to
12     * determine the HTTP method or URI, which must be provided explicitly.
13     *
14     * @param string $method The HTTP method associated with the request.
15     * @param UriInterface|string $uri The URI associated with the request. If
16     *     the value is a string, the factory MUST create a UriInterface
17     *     instance based on it.
18     * @param array $serverParams Array of SAPI parameters with which to seed
19     *     the generated request instance.
20     *
21     * @return ServerRequestInterface
22     */
23    public function createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface;
24}
25