+ # do not use slow path for global manifest since
+ # it can become catastrophically slow. per-inbox manifest
+ # is not too bad with dozens of epochs, so never fail that:
+ slow_manifest_add($ctx, $ibx) if $ibx == $ctx->{ibx};
+ }
+}
+
+sub response {
+ my ($class, $ctx) = @_;
+ bless $ctx, $class;
+ my ($re, undef) = $ctx->url_filter;
+ $re // return psgi_triple($ctx);
+ my $iter = PublicInbox::ConfigIter->new($ctx->{www}->{pi_cfg},
+ $ctx->can('list_match_i'), $re, $ctx);
+ sub {
+ $ctx->{-wcb} = $_[0]; # HTTP server callback
+ $ctx->{env}->{'pi-httpd.async'} ?
+ $iter->event_step : $iter->each_section;