summaryrefslogtreecommitdiffabout
path: root/cgit.c
authorLars Hjemli <hjemli@gmail.com>2009-02-19 22:24:15 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2009-02-19 22:24:15 (UTC)
commit3ff58ddd51bcbcbc9b7649bad1a39aa98af4b49f (patch) (unidiff)
tree4ff1b54dfb2fc025771f39528165e9e46d93a0e0 /cgit.c
parent488a214a81a25c6397c56822ed1713f51dddc520 (diff)
downloadcgit-3ff58ddd51bcbcbc9b7649bad1a39aa98af4b49f.zip
cgit-3ff58ddd51bcbcbc9b7649bad1a39aa98af4b49f.tar.gz
cgit-3ff58ddd51bcbcbc9b7649bad1a39aa98af4b49f.tar.bz2
Add support for HEAD requests
This is a quick 'n dirty hack which makes cgit honor HEAD requests. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index 411e421..dc1c2e4 100644
--- a/cgit.c
+++ b/cgit.c
@@ -429,8 +429,9 @@ static int calc_ttl()
429 429
430int main(int argc, const char **argv) 430int main(int argc, const char **argv)
431{ 431{
432 const char *cgit_config_env = getenv("CGIT_CONFIG"); 432 const char *cgit_config_env = getenv("CGIT_CONFIG");
433 const char *method = getenv("REQUEST_METHOD");
433 const char *path; 434 const char *path;
434 char *qry; 435 char *qry;
435 int err, ttl; 436 int err, ttl;
436 437
@@ -475,8 +476,10 @@ int main(int argc, const char **argv)
475 } 476 }
476 477
477 ttl = calc_ttl(); 478 ttl = calc_ttl();
478 ctx.page.expires += ttl*60; 479 ctx.page.expires += ttl*60;
480 if (method && !strcmp(method, "HEAD"))
481 ctx.cfg.nocache = 1;
479 if (ctx.cfg.nocache) 482 if (ctx.cfg.nocache)
480 ctx.cfg.cache_size = 0; 483 ctx.cfg.cache_size = 0;
481 err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root, 484 err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,
482 ctx.qry.raw, ttl, process_request, &ctx); 485 ctx.qry.raw, ttl, process_request, &ctx);