+ $ctx->psgi_response(200, delete $ctx->{-res_hdr});
+}
+
+sub html_init {
+ my ($ctx) = @_;
+ $ctx->{base_url} = base_url($ctx);
+ my $h = $ctx->{-res_hdr} = ['Content-Type', 'text/html; charset=UTF-8'];
+ $ctx->{gz} = PublicInbox::GzipFilter::gz_or_noop($h, $ctx->{env});
+ bless $ctx, __PACKAGE__;
+ print { $ctx->zfh } html_top($ctx);
+}
+
+sub DESTROY {
+ my ($ctx) = @_;
+ $ctx->{git}->cleanup if $ctx->{git} && $ctx->{git}->{-tmp};