Minimal string based PSR-7 StreamInterface implementation

06ae379 Build on PHP 8.1

2 years ago

ee83071 Upgrade PHPStan

2 years ago


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