Catalyst-Engine-PSGI
view release on metacpan or search on metacpan
To do real streaming with this engine, you should implement an
IO::Handle-like object that responds to getline method that returns
chunk or undef when done, and set that object to $c->res->body.
Alternatively, it is possible to set the body to a code reference,
which will be used to stream content as documented in the PSGI spec.
* When your application runs behind the frontend proxy like nginx or
lighttpd, this Catalyst engine doesn't automatically recognize the
incoming headers like X-Forwarded-For, because respecting these
headers by default causes a potential security issue.
You have to enable Plack::Middleware::ReverseProxy or
Plack::Middleware::ForwardedHeaders to automatically promote those
forwarded headers into REMOTE_ADDR hence IP address of the request.
ReverseProxy middleware is pretty simple and has no configuration
while ForwardedHeaders allows you to configure which upstream host to
trust, etc.
lib/Catalyst/Engine/PSGI.pm view on Meta::CPAN
chunk or undef when done, and set that object to C<< $c->res->body >>.
Alternatively, it is possible to set the body to a code reference,
which will be used to stream content as documented in the
L<PSGI spec|PSGI/Delayed_Reponse_and_Streaming_Body>.
=item *
When your application runs behind the frontend proxy like nginx or
lighttpd, this Catalyst engine doesn't automatically recognize the
incoming headers like C<X-Forwarded-For>, because respecting these
headers by default causes a potential security issue.
You have to enable L<Plack::Middleware::ReverseProxy> or
L<Plack::Middleware::ForwardedHeaders> to automatically promote those
forwarded headers into C<REMOTE_ADDR> hence IP address of the request.
ReverseProxy middleware is pretty simple and has no configuration
while ForwardedHeaders allows you to configure which upstream host to
trust, etc.
( run in 0.857 second using v1.01-cache-2.11-cpan-26ccb49234f )