-}
-
-static int cgit_prepare_cache(struct cacheitem *item)
-{
- if (!ctx.repo && ctx.qry.repo) {
- ctx.page.title = fmt("%s - %s", ctx.cfg.root_title,
- "Bad request");
- cgit_print_http_headers(&ctx);
- cgit_print_docstart(&ctx);
- cgit_print_pageheader(&ctx);
- cgit_print_error(fmt("Unknown repo: %s", ctx.qry.repo));
- cgit_print_docend();
- return 0;
- }
-
- if (!ctx.repo) {
- item->name = xstrdup(fmt("%s/index.html", ctx.cfg.cache_root));
- item->ttl = ctx.cfg.cache_root_ttl;
- return 1;
- }
-
- if (!cgit_cmd) {
- item->name = xstrdup(fmt("%s/%s/index.%s.html", ctx.cfg.cache_root,
- cache_safe_filename(ctx.repo->url),
- cache_safe_filename(ctx.qry.raw)));
- item->ttl = ctx.cfg.cache_repo_ttl;
- } else {
- item->name = xstrdup(fmt("%s/%s/%s/%s.html", ctx.cfg.cache_root,
- cache_safe_filename(ctx.repo->url),
- ctx.qry.page,
- cache_safe_filename(ctx.qry.raw)));
- if (ctx.qry.has_symref)
- item->ttl = ctx.cfg.cache_dynamic_ttl;
- else if (ctx.qry.has_sha1)
- item->ttl = ctx.cfg.cache_static_ttl;
- else
- item->ttl = ctx.cfg.cache_repo_ttl;
- }
- return 1;
+ ctx->page.size = 0;
+ ctx->page.modified = time(NULL);
+ ctx->page.expires = ctx->page.modified;
+ ctx->page.etag = NULL;
+ memset(&ctx->cfg.mimetypes, 0, sizeof(struct string_list));
+ if (ctx->env.script_name)
+ ctx->cfg.script_name = ctx->env.script_name;
+ if (ctx->env.query_string)
+ ctx->qry.raw = ctx->env.query_string;
+ if (!ctx->env.cgit_config)
+ ctx->env.cgit_config = CGIT_CONFIG;