lib/PublicInbox/ExtMsg.pm | 5 +++-- diff --git a/lib/PublicInbox/ExtMsg.pm b/lib/PublicInbox/ExtMsg.pm index 912a675d1ddc5c66c163e4a682a7fbc3c752fb64..6356c3244ef14b414c00fe1ab7cc4e23d4ea41ce 100644 --- a/lib/PublicInbox/ExtMsg.pm +++ b/lib/PublicInbox/ExtMsg.pm @@ -26,6 +26,8 @@ my ($ctx) = @_; my $pi_config = $ctx->{pi_config}; my $listname = $ctx->{listname}; my $mid = $ctx->{mid}; + my $cgi = $ctx->{cgi}; + my $env = $cgi->{env}; eval { require PublicInbox::Search }; my $have_xap = $@ ? 0 : 1; @@ -43,6 +45,7 @@ my $url = $pi_config->{"publicinbox.$list.url"}; defined $url or next; $url =~ s!/+\z!!; + $url = PublicInbox::Hval::prurl($env, $url); # try to find the URL with Xapian to avoid forking if ($have_xap) { @@ -85,7 +88,6 @@ my @partial; eval { require PublicInbox::Msgmap }; my $have_mm = $@ ? 0 : 1; - my $cgi = $ctx->{cgi}; my $base_url = $cgi->base->as_string; if ($have_mm) { my $tmp_mid = $mid; @@ -137,7 +139,6 @@ # Fall back to external repos if configured if (@EXT_URL && index($mid, '@') >= 0) { $code = 300; $s .= "\nPerhaps try an external site:\n\n"; - my $env = $cgi->{env}; foreach my $url (@EXT_URL) { my $u = PublicInbox::Hval::prurl($env, $url); my $r = sprintf($u, $href);