]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/GitHTTPBackend.pm
www: cgit: fix fallback to WwwCoderepo on array responses
[public-inbox.git] / lib / PublicInbox / GitHTTPBackend.pm
index 61a1356048bfc735ed96cf9714f8257378042ff3..3aae54548dc990fef9e93e0e751a7fc7e782664a 100644 (file)
@@ -155,7 +155,11 @@ sub parse_cgi_headers {
                delete $ctx->{env}->{'qspawn.wcb'};
                $ctx->{env}->{'plack.skip-deflater'} = 1; # prevent 2x gzip
                my $res = $ctx->{www}->coderepo->srv(\%ctx);
-               $res->(delete $ctx{env}->{'qspawn.wcb'}) if ref($res) eq 'CODE';
+               if (ref($res) eq 'CODE') {
+                       $res->(delete $ctx{env}->{'qspawn.wcb'});
+               } else { # ref($res) eq 'ARRAY'
+                       $ctx->{env}->{'qspawn.wcb'} = $ctx{env}->{'qspawn.wcb'};
+               }
                $res; # non ARRAY ref for ->psgi_return_init_cb
        } else {
                [ $code, \@h ]