]> Sergey Matveev's repositories - public-inbox.git/commitdiff
HTML: use shorter URLs in indices
authorEric Wong <e@80x24.org>
Tue, 15 Apr 2014 06:35:52 +0000 (06:35 +0000)
committerEric Wong <e@80x24.org>
Tue, 15 Apr 2014 06:35:52 +0000 (06:35 +0000)
Long URLs are not needed for HTML pages, but may be for feeds since
they're often resyndicated and not consumed by the browser.

lib/PublicInbox/Feed.pm

index b08bd8837507e51a37d55ec458c23da9cc11a3aa..92bbf92d65a5134fbb0cab731d00e8fbacb6da86 100644 (file)
@@ -118,13 +118,15 @@ sub get_feedopts {
        }
        my $url_base;
        if ($cgi) {
-               my $cgi_url = $cgi->self_url;
+               my $cgi_url = $cgi->url(-path=>1, -query=>1, -relative=>1);
+               my $base = $cgi->url(-base);
                $url_base = $cgi_url;
                if ($url_base =~ s!/(?:|index\.html)?\z!!) {
-                       $rv{atomurl} = "$url_base/index.atom.xml";
+                       $rv{atomurl} = "$base$url_base/index.atom.xml";
                } else {
                        $url_base =~ s!/?(?:index|all)\.atom\.xml\z!!;
-                       $rv{atomurl} = $cgi_url;
+                       $rv{atomurl} = $base . $cgi_url;
+                       $url_base = $base . $url_base; # XXX is this needed?
                }
        } else {
                $url_base = "http://example.com";