- cgit_print_pageheader(cgit_query_page, show_search);
-
- switch(cgit_cmd) {
- case CMD_LOG:
- cgit_print_log(cgit_query_sha1, cgit_query_ofs,
- cgit_max_commit_count, cgit_query_grep, cgit_query_search,
- cgit_query_path, 1);
- break;
- case CMD_TREE:
- cgit_print_tree(cgit_query_sha1, cgit_query_path);
- break;
- case CMD_COMMIT:
- cgit_print_commit(cgit_query_sha1);
- break;
- case CMD_REFS:
- cgit_print_refs();
- break;
- case CMD_TAG:
- cgit_print_tag(cgit_query_sha1);
- break;
- case CMD_DIFF:
- cgit_print_diff(cgit_query_sha1, cgit_query_sha2, cgit_query_path);
- break;
- default:
- cgit_print_error("Invalid request");
+ if (cmd->want_repo && prepare_repo_cmd(ctx))
+ return;
+
+ if (cmd->want_layout) {
+ cgit_print_http_headers(ctx);
+ cgit_print_docstart(ctx);
+ cgit_print_pageheader(ctx);