mirror of
https://gitea.quitesimple.org/crtxcr/cgitsb
synced 2024-12-03 17:28:15 +01:00
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>
This commit is contained in:
parent
488a214a81
commit
3ff58ddd51
3
cgit.c
3
cgit.c
@ -430,6 +430,7 @@ static int calc_ttl()
|
||||
int main(int argc, const char **argv)
|
||||
{
|
||||
const char *cgit_config_env = getenv("CGIT_CONFIG");
|
||||
const char *method = getenv("REQUEST_METHOD");
|
||||
const char *path;
|
||||
char *qry;
|
||||
int err, ttl;
|
||||
@ -476,6 +477,8 @@ int main(int argc, const char **argv)
|
||||
|
||||
ttl = calc_ttl();
|
||||
ctx.page.expires += ttl*60;
|
||||
if (method && !strcmp(method, "HEAD"))
|
||||
ctx.cfg.nocache = 1;
|
||||
if (ctx.cfg.nocache)
|
||||
ctx.cfg.cache_size = 0;
|
||||
err = cache_process(ctx.cfg.cache_size, ctx.cfg.cache_root,
|
||||
|
@ -456,6 +456,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.mimetype && ctx->page.charset)
|
||||
htmlf("Content-Type: %s; charset=%s\n", ctx->page.mimetype,
|
||||
ctx->page.charset);
|
||||
@ -471,6 +473,8 @@ void cgit_print_http_headers(struct cgit_context *ctx)
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user