aboutsummaryrefslogtreecommitdiffstats
path: root/ui-shared.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-07-25 11:59:22 +0200
committerLars Hjemli <hjemli@gmail.com>2009-07-25 11:59:22 +0200
commit681fdc45473143de3f3c5f69fbc7b94f5d6b0b75 (patch)
tree3bfca05875524bee0e5444fb791707bc3e593dbd /ui-shared.c
parentMerge branch 'rt/plain-binary' (diff)
parentAdd support for HEAD requests (diff)
downloadcgit-681fdc45473143de3f3c5f69fbc7b94f5d6b0b75.tar.xz
cgit-681fdc45473143de3f3c5f69fbc7b94f5d6b0b75.zip
Merge branch 'plain-etag'
Conflicts: ui-shared.c
Diffstat (limited to 'ui-shared.c')
-rw-r--r--ui-shared.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 29036d0..10be3c0 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -467,6 +467,8 @@ void cgit_print_age(time_t t, time_t max_relative, char *format)
void cgit_print_http_headers(struct cgit_context *ctx)
{
+ const char *method = getenv("REQUEST_METHOD");
+
if (ctx->page.status)
htmlf("Status: %d %s\n", ctx->page.status, ctx->page.statusmsg);
if (ctx->page.mimetype && ctx->page.charset)
@@ -481,7 +483,11 @@ void cgit_print_http_headers(struct cgit_context *ctx)
ctx->page.filename);
htmlf("Last-Modified: %s\n", http_date(ctx->page.modified));
htmlf("Expires: %s\n", http_date(ctx->page.expires));
+ if (ctx->page.etag)
+ htmlf("ETag: \"%s\"\n", ctx->page.etag);
html("\n");
+ if (method && !strcmp(method, "HEAD"))
+ exit(0);
}
void cgit_print_docstart(struct cgit_context *ctx)