Unidiff1 files changed, 4 insertions, 0 deletions
|
diff --git a/cgit.c b/cgit.c index 19adadd..ae20257 100644 --- a/ cgit.c+++ b/ cgit.c |
|
@@ -206,6 +206,7 @@ static void prepare_context(struct cgit_context *ctx) |
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 { |
@@ -431,6 +432,7 @@ static int calc_ttl() |
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; |
@@ -477,6 +479,8 @@ int main(int argc, const char **argv) |
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, |
|