I really hope, you could help me.
I'm implementing my PSR-7 Request class and I have problems understanding
What are the streams used for in PSR-7 Request?
Streams are where your request and response bodies are stored. They are used as an alternative to a string. A string might have worse performance if they are particularly big, which is why streams are used instead.
Which stream wrappers must be used in PSR-7 Request?
Any streamwrapper is completely fine. As long as it's a stream. So if you are doing a HTTP request and want to upload a file from disk, you can use a standard file stream. If you making a Request object and you're doing a server-side implementation, you will probably want to use
php://input. If you are making a client, and want to just define the HTTP request body as a string, the easiest will be to convert the string to a stream using the