- my $ibx = $ctx->{-inbox};
- my @items = $mset->items;
- $ctx->{search_query} = $q;
- my $srch = $ctx->{srch};
- PublicInbox::WwwAtomStream->response($ctx, 200, sub {
- while (my $x = shift @items) {
- $x = load_doc_retry($srch, $x);
- $x = $ibx->msg_by_smsg($x) and
- return PublicInbox::MIME->new($x);
- }
- return undef;
- });
-}
-
-package PublicInbox::SearchQuery;
-use strict;
-use warnings;
-use URI::Escape qw(uri_escape);
-use PublicInbox::Hval;
-use PublicInbox::MID qw(MID_ESC);
-
-sub new {
- my ($class, $qp) = @_;
-
- my $r = $qp->{r};
- my ($l) = (($qp->{l} || '') =~ /(\d+)/);
- $l = $LIM if !$l || $l > $LIM;
- bless {
- q => $qp->{'q'},
- x => $qp->{x} || '',
- o => (($qp->{o} || '0') =~ /(\d+)/),
- l => $l,
- r => (defined $r && $r ne '0'),
- }, $class;
+ $ctx->{ids} = $ctx->{ibx}->isrch->mset_to_artnums($mset);
+ $ctx->{search_query} = $q; # used by WwwAtomStream::atom_header
+ PublicInbox::WwwAtomStream->response($ctx, 200, \&adump_i);