]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WWW.pm
support dumping thread as an mbox
[public-inbox.git] / lib / PublicInbox / WWW.pm
index b0c1348659b154127d8ea6efc0189f27ffed8ec2..cd8a57055cc2410835c52e87d74ca7b0a1fd9607 100644 (file)
@@ -53,6 +53,9 @@ sub run {
        } elsif ($path_info =~ m!$LISTNAME_RE/t/(\S+)\.html\z!o) {
                invalid_list_mid(\%ctx, $1, $2) || get_thread(\%ctx, $cgi);
 
+       } elsif ($path_info =~ m!$LISTNAME_RE/t/(\S+)\.mbox\z!o) {
+               invalid_list_mid(\%ctx, $1, $2) || get_thread_mbox(\%ctx, $cgi);
+
        } elsif ($path_info =~ m!$LISTNAME_RE/f/\S+\.txt\z!o) {
                invalid_list_mid(\%ctx, $1, $2) ||
                        redirect_mid_txt(\%ctx, $cgi);
@@ -326,4 +329,12 @@ sub msg_pfx {
        "../f/$href.html";
 }
 
+# /$LISTNAME/t/$MESSAGE_ID.mbox                    -> search results as mbox
+sub get_thread_mbox {
+       my ($ctx, $cgi) = @_;
+       my $srch = searcher($ctx) or return need_search($ctx);
+       require PublicInbox::Mbox;
+       PublicInbox::Mbox::thread_mbox($ctx, $srch);
+}
+
 1;