in reply to Re^2: Mason via Poet+Plack (FCGI): Request path gets lost
in thread Mason via Poet+Plack (FCGI): Request path gets lost

I got a question, you know how you have this
<Location /> ... FcgidWrapper "/usr/local/my_site/bin/start-fcgi.sh" virtual

What tells apache that /anything/whatsoever/here gets served by start-fcgi.sh?

Replies are listed 'Best First'.
Re^4: Mason via Poet+Plack (FCGI): Request path gets lost
by flowdy (Scribe) on Jun 26, 2014 at 12:53 UTC

    Hi Monk,

    Changing it to <LocationMatch "^/"> has no effect. But I found a work-around (that is, not quite a solution I would call one) which is tweaking the subroutine returned by the builder call in bin/app.psgi that way:

    builder { # [...] sub { my $psgi_env = shift; /^\/$/ and $_ = "" for $psgi_env->{SCRIPT_NAME}; $psgi_env->{PATH_INFO} ||= trim( @{$psgi_env}{'SCRIPT_FILENAME', 'DOCUMENT_ROOT'}, ". +html" ); $poet->app_class('Mason')->handle_psgi($psgi_env); }; }; sub trim { my ($string, $head, $tail) = @_; $string =~ s{ \A \Q$head\E (.+?) \Q$tail\E \z }{$1}xmsr; }

    What concerns the SCRIPT_NAME line added as well, however, it still does not work.