Minimal string based PSR-7 StreamInterface implementation
Build on PHP 8.1
Upgrade PHPStan
Delete PHP 8.0 build (currently failing)



You can also use your local clone with git send-email.


Minimal string based PSR-7 StreamInterface implementation

License Latest Stable Version Total Downloads builds.sr.ht status

PSR-7 String Stream was born out of frustration working with PSR-7's StreamInterface. Most implementations typically use PHP Streams, which aren't the best to work with. I've run into bugs where harmless operations on Requests, such as withHeaders causes the underlying Body's destructor to be called, which closes the underlying stream. Since resources can't be cloned, this can cause the body to be destroyed.

This package, as the name implies, implements StreamInterface using strings which will survive clone+destroy.

If you're using this in production,

composer require ancarda/psr7-string-stream

If you're just using this in functional or unit tests, it can go in your require-dev section:

composer require --dev ancarda/psr7-string-stream