- my $feed_opts = PublicInbox::Feed::get_feedopts($ctx);
- my $x = ascii_html($q->{'q'});
- $x = qq{$x - search results};
- $feed_opts->{atomurl} = $feed_opts->{url} . '?'. $q->qs_html;
- $feed_opts->{url} .= '?'. $q->qs_html(x => undef);
- $x = PublicInbox::Feed::atom_header($feed_opts, $x);
- $fh->write($x. PublicInbox::Feed::feed_updated());
-
- for ($mset->items) {
- $x = PublicInbox::SearchMsg->load_doc($_->get_document)->mid;
- $x = mid2path($x);
- my $s = PublicInbox::Feed::feed_entry($feed_opts, $x, $ibx);
- $fh->write($s) if defined $s;
- }
- PublicInbox::Feed::end_feed($fh);
+ 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;
+ });