package PublicInbox::Mbox;
use strict;
use warnings;
-use PublicInbox::MID qw/mid_clean/;
-use URI::Escape qw/uri_escape_utf8/;
+use PublicInbox::MID qw/mid_clean mid_escape/;
require Email::Simple;
sub emit1 {
my ($ctx, $msg) = @_;
$msg = Email::Simple->new($msg);
- # single message should be easily renderable in browsers
- [200, ['Content-Type', 'text/plain'], [ msg_str($ctx, $msg)] ]
+
+ # single message should be easily renderable in browsers,
+ # unless obfuscation is enabled :<
+ [ 200, [ 'Content-Type',
+ $ctx->{-inbox}->{obfuscate} ? 'application/mbox' : 'text/plain' ],
+ [ msg_str($ctx, $msg)] ]
}
sub msg_str {
my $ibx = $ctx->{-inbox};
my $base = $ibx->base_url($ctx->{env});
my $mid = mid_clean($header_obj->header('Message-ID'));
- $mid = uri_escape_utf8($mid);
+ $mid = mid_escape($mid);
my @append = (
'Archived-At', "<$base$mid/>",
'List-Archive', "<$base>",
cb => $cb,
ctx => $ctx,
msgs => [],
- opts => { asc => 1, offset => 0 },
+ opts => { offset => 0 },
}, $class;
}