lib/PublicInbox/GitHTTPBackend.pm | 6 +++++- diff --git a/lib/PublicInbox/GitHTTPBackend.pm b/lib/PublicInbox/GitHTTPBackend.pm index 61a1356048bfc735ed96cf9714f8257378042ff3..3aae54548dc990fef9e93e0e751a7fc7e782664a 100644 --- a/lib/PublicInbox/GitHTTPBackend.pm +++ b/lib/PublicInbox/GitHTTPBackend.pm @@ -155,7 +155,11 @@ $ctx{env} = +{ %{$ctx->{env}} }; 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 ]