X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst.pm;h=2cdabedf20414f13de21925826a09265a58b4750;hp=71a5e560ab99e8d4d2c84540ed7728991d5fb280;hb=1ce9c7f6a57e3d3ce511d87eb68c6a66ce9d96be;hpb=4c21ba3bd6fd11b9ba6e6af65bf25a497c3709b1 diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 71a5e56..2cdabed 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -2743,7 +2743,16 @@ sub apply_default_middlewares { # If we're running under Lighttpd, swap PATH_INFO and SCRIPT_NAME # http://lists.scsys.co.uk/pipermail/catalyst/2006-June/008361.html - $psgi_app = Plack::Middleware::LighttpdScriptNameFix->wrap($psgi_app); + $psgi_app = Plack::Middleware::Conditional->wrap( + $psgi_app, + builder => sub { Plack::Middleware::LighttpdScriptNameFix->wrap($_[0]) }, + condition => sub { + my ($env) = @_; + return unless $env->{SERVER_SOFTWARE} && $env->{SERVER_SOFTWARE} =~ m!lighttpd[-/]1\.(\d+\.\d+)!; + return unless $env < 4.23; + 1; + }, + ); # we're applying this unconditionally as the middleware itself already makes # sure it doesn't fuck things up if it's not running under one of the right