use warnings;
use PublicInbox::MID qw/mid_escape/;
use PublicInbox::Hval qw/to_filename/;
-use PublicInbox::SearchMsg;
+use PublicInbox::Smsg;
+use PublicInbox::WwwStream qw(html_oneshot);
use Email::Simple;
use Email::MIME::Encode;
sub thread_mbox {
my ($ctx, $over, $sfx) = @_;
eval { require PublicInbox::MboxGz };
- return need_gzip() if $@;
+ return need_gzip($ctx) if $@;
my $msgs = $ctx->{msgs} = $over->get_thread($ctx->{mid}, {});
return [404, [qw(Content-Type text/plain)], []] if !@$msgs;
$ctx->{prev} = $msgs->[-1];
my $srch = $ctx->{srch};
while (1) {
while (my $mi = (($mset->items)[$ctx->{iter}++])) {
- my $smsg = PublicInbox::SearchMsg::from_mitem($mi,
+ my $smsg = PublicInbox::Smsg::from_mitem($mi,
$srch) or next;
return $smsg;
}
my ($ctx, $query) = @_;
eval { require PublicInbox::MboxGz };
- return need_gzip() if $@;
+ return need_gzip($ctx) if $@;
return mbox_all_ids($ctx) if $query eq '';
my $qopts = $ctx->{qopts} = { mset => 2 };
my $srch = $ctx->{srch} = $ctx->{-inbox}->search or
}
sub need_gzip {
- my $title = 'gzipped mbox not available';
- my $body = <<EOF;
-<html><head><title>$title</title><body><pre>$title
+ html_oneshot($_[0], 501, \<<EOF);
+<pre>gzipped mbox not available
+
The administrator needs to install the Compress::Raw::Zlib Perl module
to support gzipped mboxes.
-<a href="../">Return to index</a></pre></body></html>
-EOF
- [501,[qw(Content-Type text/html Content-Length), bytes::length($body)],
- [ $body ] ];
+<a href="../">Return to index</a></pre>
+EOF
}
1;