StreamedResponse not supported in Roadrunner
alexander-schranz opened this issue ยท 4 comments
More as a reference here currently there is no way to use a StreamedResponse
inside roadrunner. This is because things output with echo
, var_dump
, flush
or any other php internal method is not supported by roadrunner and is in this case ignored.
The issue on the roadrunner side is here: https://github.com/spiral/roadrunner/issues/2.
Hi, I think I can give a little help here.
RoadRunner does not support streaming the responses, it means PSR responses streams are just consumed entirely and sent as one payload to RR.
StreamedResponse are well handled on the PsrHttpFactory side.
The problem is that Symfony setups a StreamedResponseListener which consumes the stream before PsrHttpFactory
.
I handled this by disabling the Symfony listener when running in RR: https://github.com/Baldinof/roadrunner-bundle/blob/2.x/src/Integration/Symfony/StreamedResponseListener.php
FWIW, StreamedResponse
doesn't seem to work with swoole either ๐ค
Errata: bitten by StreamedResponseListener
, which operates also under swoole :|
Adding here a reference to #116 as when implementing this for roadrunner we should also keep that in mind.
Looks good that roadrunner 2.9 will bring us streaming responses: roadrunner-server/roadrunner#923 (comment)