+sub msg_page {
+ my ($ctx, $list, $mid, $e) = @_;
+ unless (invalid_list_mid($ctx, $list, $mid)) {
+ '' eq $e and return get_mid_html($ctx);
+ 't/' eq $e and return get_thread($ctx);
+ 't.atom' eq $e and return get_thread_atom($ctx);
+ 't.mbox' eq $e and return get_thread_mbox($ctx);
+ 't.mbox.gz' eq $e and return get_thread_mbox($ctx, '.gz');
+ 'T/' eq $e and return get_thread($ctx, 1);
+ 'raw' eq $e and return get_mid_txt($ctx);
+ 'f/' eq $e and return get_full_html($ctx);
+ 'R/' eq $e and return get_reply_html($ctx);
+ }
+ r404($ctx);
+}
+
+sub serve_git {
+ my ($cgi, $git, $path) = @_;
+ PublicInbox::GitHTTPBackend::serve($cgi, $git, $path);
+}
+