use fields qw(raw href);
use Encode qw(find_encoding);
use URI::Escape qw(uri_escape_utf8);
+use PublicInbox::MID qw/mid_clean mid_compress/;
my $enc_ascii = find_encoding('us-ascii');
sub new_msgid {
my ($class, $msgid) = @_;
- $msgid =~ s/\A\s*<?//;
- $msgid =~ s/>?\s*\z//;
-
- if (length($msgid) <= 40) {
- $class->new($msgid);
- } else {
- require Digest::SHA;
- my $hex = Digest::SHA::sha1_hex($msgid);
- $class->new($msgid, $hex);
- }
+ $msgid = mid_clean($msgid);
+ $class->new($msgid, mid_compress($msgid));
}
sub new_oneline {
sub ascii_html {
my ($s) = @_;
+ $s =~ s/\r\n/\n/sg; # fixup bad line endings
$s =~ s/([<>&'"])/$xhtml_map{$1}/ge;
$enc_ascii->encode($s, Encode::HTMLCREF);
}