There’s nothing like working on a problem for a few days and getting to the reassuring code snippet like this:
sub PSGIApp {
my $self = shift;
# XXX: this is fucked
require HTML::Mason::CGIHandler;
require HTML::Mason::PSGIHandler::Streamy;
my $h = RT::Interface::Web::Handler::NewHandler('HTML::Mason::PSGIHandler::Streamy');
$self->InitSessionDir;
my $mason = sub {
my $env = shift;
# mod_fastcgi starts with an empty %ENV, but provides it on each
# request. Pick it up and cache it during the first request.
$ENV{PATH} //= $env->{PATH};
# HTML::Mason::Utils::cgi_request_args uses $ENV{QUERY_STRING} to
# determine if to call url_param or not
# (see comments in HTML::Mason::Utils::cgi_request_args)
$ENV{QUERY_STRING} = $env->{QUERY_STRING};
The first comment is misleading. It throws you off. Almost make you close the file and go somewhere else. But that’s just a little frustration from the last few days. The solution to my problem is here too… And that’s when the warm, cozy feeling I have for the Open Source Software kicks in.
P.S.: both the problem and the solution will be posted separately.