diff options
| -rw-r--r-- | cgit.c | 1 | ||||
| -rw-r--r-- | cgit.h | 1 | ||||
| -rw-r--r-- | ui-plain.c | 1 | ||||
| -rw-r--r-- | ui-shared.c | 2 | 
4 files changed, 5 insertions, 0 deletions
| @@ -206,6 +206,7 @@ static void prepare_context(struct cgit_context *ctx)  	ctx->page.size = 0;  	ctx->page.modified = time(NULL);  	ctx->page.expires = ctx->page.modified; +	ctx->page.etag = NULL;  }  struct refmatch { @@ -180,6 +180,7 @@ struct cgit_page {  	char *mimetype;  	char *charset;  	char *filename; +	char *etag;  	char *title;  }; @@ -34,6 +34,7 @@ static void print_object(const unsigned char *sha1, const char *path)  	ctx.page.mimetype = "text/plain";  	ctx.page.filename = fmt("%s", path);  	ctx.page.size = size; +	ctx.page.etag = sha1_to_hex(sha1);  	cgit_print_http_headers(&ctx);  	html_raw(buf, size);  	match = 1; diff --git a/ui-shared.c b/ui-shared.c index de77bbf..86a7d29 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -468,6 +468,8 @@ 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");  } | 
