The purpose of this PSR is to provide a set of common interfaces for HTTP messages as described in RFC 7230 and RFC 7231
Added return types, see https://www.php-fig.org/psr/psr-7/meta/#72-type-additions
Added parameters types, see https://www.php-fig.org/psr/psr-7/meta/#72-type-additions
This tag contains all updates since entering the second review of PSR-7. These include:
RequestInterface::withUri()
specifying that changes MUST also update the Host
header unless the $preserverHost
flag is true
.getHeader*()
method overrides in RequestInterface
, as they are irrelevant with the above change.RequestInterface
class-level docblock indicating that constructors SHOULD attempt to set the Host
header in order to ensure the message is valid on initialization.RequestInterface::getHeaderLine()
MUST return a string (null
was allowed previously, which leads to ambiguity of return value).ResponseInterface::getReasonPhrase()
MUST return a string(null
was allowed previously, which leads to ambiguity of return value).ResponseInterface::withStatus()
now sets the default value of the $reasonPhrase
parameter to an empty string (to correspond to the above change).UploadedFileInterface::move()
was renamed to moveTo()
, and the argument renamed to $targetPath
; this clarifies intent for the method.UriInterface::withPath()
has clarifications in the docblock to indicate the four possible path types (empty, root path, relative path, domain-relative — or absolute — path).StreamableInterface
was renamed to StreamInterface
; typehints were updated accordingly.ServerRequestInterface::*FileParams()
were renamed to *UploadedFiles()
. They now expect and return array trees of a new interface, UploadedFileInterface
.UploadedFileInterface
was added to provide compatibility between SAPI and non-SAPI environments with regards to handling upload files.UriInterface
with regards to URI component delimiters.