about summary refs log tree commit
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-03-21 02:03:49 +0000
committerEric Wong <e@yhbt.net>2020-03-25 01:48:35 +0000
commit90dc2b8ca53f93ca937e7cc71cd7c915e3df8020 (patch)
tree2999a34d677bce5212a3f8a6589e175f2258398b
parente6b159cf3dd1267ea76029fdbf3048488242ef14 (diff)
downloadpublic-inbox-90dc2b8ca53f93ca937e7cc71cd7c915e3df8020.tar.gz
This makes the error page more consistent.

Not that it really matters since Compress::Raw::Zlib and
IO::Compress packages have been distributed with Perl since
5.10.x.  Of course, zlib itself is also a dependency of git.
-rw-r--r--lib/PublicInbox/Mbox.pm16
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/PublicInbox/Mbox.pm b/lib/PublicInbox/Mbox.pm
index 4f632d63..46964bbb 100644
--- a/lib/PublicInbox/Mbox.pm
+++ b/lib/PublicInbox/Mbox.pm
@@ -152,7 +152,7 @@ sub thread_cb {
 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];
@@ -221,7 +221,7 @@ sub mbox_all {
         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
@@ -236,16 +236,14 @@ sub mbox_all {
 }
 
 sub need_gzip {
-        my $title = 'gzipped mbox not available';
-        my $body = <<EOF;
-<html><head><title>$title</title><body><pre>$title
+        PublicInbox::WwwStream::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;