|
diff --git a/cgit.c b/cgit.c index 19adadd..ae20257 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -205,8 +205,9 @@ static void prepare_context(struct cgit_context *ctx) |
205 | ctx->page.filename = NULL; |
205 | ctx->page.filename = NULL; |
206 | ctx->page.size = 0; |
206 | ctx->page.size = 0; |
207 | ctx->page.modified = time(NULL); |
207 | ctx->page.modified = time(NULL); |
208 | ctx->page.expires = ctx->page.modified; |
208 | ctx->page.expires = ctx->page.modified; |
| |
209 | ctx->page.etag = NULL; |
209 | } |
210 | } |
210 | |
211 | |
211 | struct refmatch { |
212 | struct refmatch { |
212 | char *req_ref; |
213 | char *req_ref; |
@@ -430,8 +431,9 @@ static int calc_ttl() |
430 | |
431 | |
431 | int main(int argc, const char **argv) |
432 | int main(int argc, const char **argv) |
432 | { |
433 | { |
433 | const char *cgit_config_env = getenv("CGIT_CONFIG"); |
434 | const char *cgit_config_env = getenv("CGIT_CONFIG"); |
| |
435 | const char *method = getenv("REQUEST_METHOD"); |
434 | const char *path; |
436 | const char *path; |
435 | char *qry; |
437 | char *qry; |
436 | int err, ttl; |
438 | int err, ttl; |
437 | |
439 | |
@@ -476,8 +478,10 @@ int main(int argc, const char **argv) |
476 | } |
478 | } |
477 | |
479 | |
478 | ttl = calc_ttl(); |
480 | ttl = calc_ttl(); |
479 | ctx.page.expires += ttl*60; |
481 | ctx.page.expires += ttl*60; |
| |
482 | if (method && !strcmp(method, "HEAD")) |
| |
483 | ctx.cfg.nocache = 1; |
480 | if (ctx.cfg.nocache) |
484 | if (ctx.cfg.nocache) |
481 | ctx.cfg.cache_size = 0; |
485 | ctx.cfg.cache_size = 0; |
482 | err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root, |
486 | err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root, |
483 | ctx.qry.raw, ttl, process_request, &ctx); |
487 | ctx.qry.raw, ttl, process_request, &ctx); |
|