
Catalyst::Engine::PSGI - PSGI engine for Catalyst

# app.psgi
use strict;
use MyApp;
MyApp->setup_engine('PSGI');
my $app = sub { MyApp->run(@_) };

Catalyst::Engine::PSGI is a Catalyst Engine that adapts Catalyst into the PSGI gateway protocol.

$c->res->write to do streaming write, this engine will buffer the ouput until your app finishes.
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.
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.

Tatsuhiko Miyagawa <miyagawa@bulknews.net>
Most of the code is taken and modified from Catalyst::Engine::CGI.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Catalyst::Engine PSGI Plack