sub load_from_data ($$) {
my ($self) = $_[0]; # data = $_[1]
+ utf8::decode($_[1]);
(
$self->{subject},
$self->{from},
my $dt = get_val($doc, PublicInbox::Search::DT());
my ($yyyy, $mon, $dd, $hh, $mm, $ss) = unpack('A4A2A2A2A2A2', $dt);
$self->{ds} = timegm($ss, $mm, $hh, $dd, $mon - 1, $yyyy);
- utf8::decode($data);
load_from_data($self, $data);
$self;
}
# drop NNTP-only fields which aren't relevant to PSGI results:
# saves ~80K on a 200 item search result:
- delete @$self{qw(ts to cc bytes lines)};
+ # TODO: we may need to keep some of these for JMAP...
+ delete @$self{qw(ts tid to cc bytes lines)};
$self;
}
-# Only called by PSGI interface, not NNTP
-sub from_mitem {
- my ($mitem, $srch) = @_;
- return $srch->retry_reopen(\&from_mitem, $mitem) if $srch;
- my $self = bless {}, __PACKAGE__;
- psgi_cull(load_expand($self, $mitem->get_document));
-}
-
# for Import and v1 non-SQLite WWW code paths
sub populate {
my ($self, $hdr, $sync) = @_;