aboutsummaryrefslogtreecommitdiffstats
path: root/cgit.c
diff options
context:
space:
mode:
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index 2afc598..513ea12 100644
--- a/cgit.c
+++ b/cgit.c
@@ -208,6 +208,7 @@ static void prepare_context(struct cgit_context *ctx)
208 ctx->page.size = 0; 208 ctx->page.size = 0;
209 ctx->page.modified = time(NULL); 209 ctx->page.modified = time(NULL);
210 ctx->page.expires = ctx->page.modified; 210 ctx->page.expires = ctx->page.modified;
211 ctx->page.etag = NULL;
211} 212}
212 213
213struct refmatch { 214struct refmatch {
@@ -287,6 +288,8 @@ static int prepare_repo_cmd(struct cgit_context *ctx)
287 if (get_sha1(ctx->qry.head, sha1)) { 288 if (get_sha1(ctx->qry.head, sha1)) {
288 tmp = xstrdup(ctx->qry.head); 289 tmp = xstrdup(ctx->qry.head);
289 ctx->qry.head = ctx->repo->defbranch; 290 ctx->qry.head = ctx->repo->defbranch;
291 ctx->page.status = 404;
292 ctx->page.statusmsg = "not found";
290 cgit_print_http_headers(ctx); 293 cgit_print_http_headers(ctx);
291 cgit_print_docstart(ctx); 294 cgit_print_docstart(ctx);
292 cgit_print_pageheader(ctx); 295 cgit_print_pageheader(ctx);
@@ -431,6 +434,7 @@ static int calc_ttl()
431int main(int argc, const char **argv) 434int main(int argc, const char **argv)
432{ 435{
433 const char *cgit_config_env = getenv("CGIT_CONFIG"); 436 const char *cgit_config_env = getenv("CGIT_CONFIG");
437 const char *method = getenv("REQUEST_METHOD");
434 const char *path; 438 const char *path;
435 char *qry; 439 char *qry;
436 int err, ttl; 440 int err, ttl;
@@ -477,6 +481,8 @@ int main(int argc, const char **argv)
477 481
478 ttl = calc_ttl(); 482 ttl = calc_ttl();
479 ctx.page.expires += ttl*60; 483 ctx.page.expires += ttl*60;
484 if (method && !strcmp(method, "HEAD"))
485 ctx.cfg.nocache = 1;
480 if (ctx.cfg.nocache) 486 if (ctx.cfg.nocache)
481 ctx.cfg.cache_size = 0; 487 ctx.cfg.cache_size = 0;
482 err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root, 488 err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,