public-inbox.cgi | 9 +++++++-- diff --git a/public-inbox.cgi b/public-inbox.cgi index 7da73754a3852c81f1c696d888e1711a0f9422a3..54ff0159efb92fdb3232da60e8c5a4917de46664 100755 --- a/public-inbox.cgi +++ b/public-inbox.cgi @@ -182,14 +182,19 @@ [ 200, [ 'Content-Type' => 'text/html' ], [ PublicInbox::View->as_html(Email::MIME->new($$x))] ]; } +sub self_url { + my ($cgi) = @_; + ref($cgi) eq 'CGI' ? $cgi->self_url : $cgi->uri->as_string; +} + sub redirect_list_index { my ($ctx, $cgi) = @_; - do_redirect($cgi->self_url . "/"); + do_redirect(self_url($cgi) . "/"); } sub redirect_mid { my ($ctx, $cgi) = @_; - my $url = $cgi->self_url; + my $url = self_url($cgi); $url =~ s!/f/!/m/!; do_redirect($url . '.html'); }