]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/NNTP.pm
www: use WwwStream for dumping thread and search views
[public-inbox.git] / lib / PublicInbox / NNTP.pm
index e86832107ca560db8f10dd834e801c4a5c5c42ed..4b116a7d5b786af92daa95c2e4843aecfd46566f 100644 (file)
@@ -10,7 +10,6 @@ use fields qw(nntpd article rbuf ng long_res);
 use PublicInbox::Search;
 use PublicInbox::Msgmap;
 use PublicInbox::Git;
-use PublicInbox::MID qw(mid2path);
 require PublicInbox::EvCleanup;
 use Email::Simple;
 use POSIX qw(strftime);
@@ -481,10 +480,9 @@ find_mid:
                defined $mid or return $err;
        }
 found:
-       my $o = 'HEAD:' . mid2path($mid);
        my $bytes;
-       my $s = eval { Email::Simple->new($ng->git->cat_file($o, \$bytes)) };
-       return $err unless $s;
+       my $s = eval { $ng->msg_by_mid($mid, \$bytes) } or return $err;
+       $s = Email::Simple->new($s);
        my $lines;
        if ($set_headers) {
                set_nntp_headers($s->header_obj, $ng, $n, $mid);
@@ -713,8 +711,7 @@ sub hdr_xref ($$$) { # optimize XHDR Xref [range] for rtin
 
 sub search_header_for {
        my ($srch, $mid, $field) = @_;
-       my $smsg = $srch->lookup_message($mid) or return;
-       $smsg = PublicInbox::SearchMsg->load_doc($smsg->{doc});
+       my $smsg = $srch->lookup_mail($mid) or return;
        $smsg->$field;
 }
 
@@ -849,10 +846,9 @@ sub cmd_over ($;$) {
        my ($self, $range) = @_;
        if ($range && $range =~ /\A<(.+)>\z/) {
                my ($ng, $n) = mid_lookup($self, $1);
-               my $smsg = $ng->search->lookup_message($range) or
+               my $smsg = $ng->search->lookup_mail($range) or
                        return '430 No article with that message-id';
                more($self, '224 Overview information follows (multi-line)');
-               $smsg = PublicInbox::SearchMsg->load_doc($smsg->{doc});
 
                # Only set article number column if it's the current group
                my $self_ng = $self->{ng};