From: Eric Wong Date: Tue, 22 Apr 2014 09:48:53 +0000 (+0000) Subject: view: fix link to raw message from /f/ endpoint X-Git-Tag: v1.0.0~1211 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=c6496a07d159872ad46f8f2f95f3bcb2f0cef13d view: fix link to raw message from /f/ endpoint Ugh, at least this has a test... --- diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 5b24706c..355d346a 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -19,7 +19,7 @@ my $enc_mime = find_encoding('MIME-Header'); sub as_html { my ($class, $mime, $full_pfx) = @_; - headers_to_html_header($mime) . + headers_to_html_header($mime, $full_pfx) . multipart_text_as_html($mime, $full_pfx) . ''; } @@ -150,7 +150,7 @@ sub ascii_html { } sub headers_to_html_header { - my ($simple) = @_; + my ($simple, $full_pfx) = @_; my $rv = ""; my @title; @@ -180,6 +180,9 @@ sub headers_to_html_header { if (defined $mid) { my ($html, $href) = trim_message_id($mid); $rv .= "Message-ID: <$html> "; + unless ($full_pfx) { + $href = "../m/$href"; + } $rv .= "(original)\n"; } diff --git a/public-inbox.cgi b/public-inbox.cgi index b9b484be..fc48f2f4 100755 --- a/public-inbox.cgi +++ b/public-inbox.cgi @@ -78,7 +78,7 @@ sub main { } elsif ($path_info =~ m!$LISTNAME_RE/f/(\S+)\.html\z!o) { invalid_list_mid(\%ctx, $1, $2) || get_full_html(\%ctx, $cgi); - # convenience redirect + # convenience redirects, order matters } elsif ($path_info =~ m!$LISTNAME_RE/(?:m|f)/(\S+)\z!o) { invalid_list_mid(\%ctx, $1, $2) || redirect_mid(\%ctx, $cgi); diff --git a/t/view.t b/t/view.t index 067f9890..87f8eeee 100644 --- a/t/view.t +++ b/t/view.t @@ -36,8 +36,8 @@ EOF $s = Email::MIME->new($s->as_string); my $html = PublicInbox::View->as_html($s); - # ghetto - like($html, qr/]+>> Long and wordy/, @@ -46,6 +46,7 @@ EOF # short page my $pfx = "http://example.com/test/f"; my $short = PublicInbox::View->as_html($s, $pfx); + like($short, qr!