The purpose of this list is to help in finding the methods when working with PSR-7. This can be considered as a cheatsheet for PSR-7 interfaces.
The interfaces defined in PSR-7 are the following:
| Class Name | Description | 
|---|---|
| Psr\Http\Message\MessageInterface | Representation of a HTTP message | 
| Psr\Http\Message\RequestInterface | Representation of an outgoing, client-side request. | 
| Psr\Http\Message\ServerRequestInterface | Representation of an incoming, server-side HTTP request. | 
| Psr\Http\Message\ResponseInterface | Representation of an outgoing, server-side response. | 
| Psr\Http\Message\StreamInterface | Describes a data stream | 
| Psr\Http\Message\UriInterface | Value object representing a URI. | 
| Psr\Http\Message\UploadedFileInterface | Value object representing a file uploaded through an HTTP request. | 
Psr\Http\Message\MessageInterface Methods| Method Name | Description | Notes | 
|---|---|---|
| getProtocolVersion() | Retrieve HTTP protocol version | 1.0 or 1.1 | 
| withProtocolVersion($version) | Returns new message instance with given HTTP protocol version | |
| getHeaders() | Retrieve all HTTP Headers | Request Header List, Response Header List | 
| hasHeader($name) | Checks if HTTP Header with given name exists | |
| getHeader($name) | Retrieves a array with the values for a single header | |
| getHeaderLine($name) | Retrieves a comma-separated string of the values for a single header | |
| withHeader($name, $value) | Returns new message instance with given HTTP Header | if the header existed in the original instance, replaces the header value from the original message with the value provided when creating the new instance. | 
| withAddedHeader($name, $value) | Returns new message instance with appended value to given header | If header already exists value will be appended, if not a new header will be created | 
| withoutHeader($name) | Removes HTTP Header with given name | |
| getBody() | Retrieves the HTTP Message Body | Returns object implementing StreamInterface | 
| withBody(StreamInterface $body) | Returns new message instance with given HTTP Message Body | 
Psr\Http\Message\RequestInterface MethodsSame methods as Psr\Http\Message\MessageInterface  + the following methods:
| Method Name | Description | Notes | 
|---|---|---|
| getRequestTarget() | Retrieves the message's request target | origin-form, absolute-form, authority-form, asterisk-form (RFC7230) | 
| withRequestTarget($requestTarget) | Return a new message instance with the specific request-target | |
| getMethod() | Retrieves the HTTP method of the request. | GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE (defined in RFC7231), PATCH (defined in RFC5789) | 
| withMethod($method) | Returns a new message instance with the provided HTTP method | |
| getUri() | Retrieves the URI instance | |
| withUri(UriInterface $uri, $preserveHost = false) | Returns a new message instance with the provided URI | 
Psr\Http\Message\ServerRequestInterface MethodsSame methods as Psr\Http\Message\RequestInterface  + the following methods:
| Method Name | Description | Notes | 
|---|---|---|
| getServerParams() | Retrieve server parameters | Typically derived from $_SERVER | 
| getCookieParams() | Retrieves cookies sent by the client to the server. | Typically derived from $_COOKIES | 
| withCookieParams(array $cookies) | Returns a new request instance with the specified cookies | |
| withQueryParams(array $query) | Returns a new request instance with the specified query string arguments | |
| getUploadedFiles() | Retrieve normalized file upload data | |
| withUploadedFiles(array $uploadedFiles) | Returns a new request instance with the specified uploaded files | |
| getParsedBody() | Retrieve any parameters provided in the request body | |
| withParsedBody($data) | Returns a new request instance with the specified body parameters | |
| getAttributes() | Retrieve attributes derived from the request | |
| getAttribute($name, $default = null) | Retrieve a single derived request attribute | |
| withAttribute($name, $value) | Returns a new request instance with the specified derived request attribute | |
| withoutAttribute($name) | Returns a new request instance that without the specified derived request attribute | 
Psr\Http\Message\ResponseInterface Methods:Same methods as Psr\Http\Message\MessageInterface  + the following methods:
| Method Name | Description | Notes | 
|---|---|---|
| getStatusCode() | Gets the response status code. | |
| withStatus($code, $reasonPhrase = '') | Returns a new response instance with the specified status code and, optionally, reason phrase. | |
| getReasonPhrase() | Gets the response reason phrase associated with the status code. | 
Psr\Http\Message\StreamInterface Methods| Method Name | Description | Notes | 
|---|---|---|
| __toString() | Reads all data from the stream into a string, from the beginning to end. | |
| close() | Closes the stream and any underlying resources. | |
| detach() | Separates any underlying resources from the stream. | |
| getSize() | Get the size of the stream if known. | |
| eof() | Returns true if the stream is at the end of the stream. | |
| isSeekable() | Returns whether or not the stream is seekable. | |
| seek($offset, $whence = SEEK_SET) | Seek to a position in the stream. | |
| rewind() | Seek to the beginning of the stream. | |
| isWritable() | Returns whether or not the stream is writable. | |
| write($string) | Write data to the stream. | |
| isReadable() | Returns whether or not the stream is readable. | |
| read($length) | Read data from the stream. | |
| getContents() | Returns the remaining contents in a string | |
| getMetadata($key = null)() | Get stream metadata as an associative array or retrieve a specific key. | 
Psr\Http\Message\UriInterface Methods| Method Name | Description | Notes | 
|---|---|---|
| getScheme() | Retrieve the scheme component of the URI. | |
| getAuthority() | Retrieve the authority component of the URI. | |
| getUserInfo() | Retrieve the user information component of the URI. | |
| getHost() | Retrieve the host component of the URI. | |
| getPort() | Retrieve the port component of the URI. | |
| getPath() | Retrieve the path component of the URI. | |
| getQuery() | Retrieve the query string of the URI. | |
| getFragment() | Retrieve the fragment component of the URI. | |
| withScheme($scheme) | Return an instance with the specified scheme. | |
| withUserInfo($user, $password = null) | Return an instance with the specified user information. | |
| withHost($host) | Return an instance with the specified host. | |
| withPort($port) | Return an instance with the specified port. | |
| withPath($path) | Return an instance with the specified path. | |
| withQuery($query) | Return an instance with the specified query string. | |
| withFragment($fragment) | Return an instance with the specified URI fragment. | |
| __toString() | Return the string representation as a URI reference. | 
Psr\Http\Message\UploadedFileInterface Methods| Method Name | Description | Notes | 
|---|---|---|
| getStream() | Retrieve a stream representing the uploaded file. | |
| moveTo($targetPath) | Move the uploaded file to a new location. | |
| getSize() | Retrieve the file size. | |
| getError() | Retrieve the error associated with the uploaded file. | |
| getClientFilename() | Retrieve the filename sent by the client. | |
| getClientMediaType() | Retrieve the media type sent by the client. | 
RequestInterface,ServerRequestInterface,ResponseInterfaceextendMessageInterfacebecause theRequestand theResponseareHTTP Messages. When usingServerRequestInterface, bothRequestInterfaceandPsr\Http\Message\MessageInterfacemethods are considered.