diff options
author | default <nobody@localhost> | 2022-10-09 17:54:01 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-10-09 17:54:01 +0200 |
commit | 305591ae311af92c36d779f255849764f5f20f55 (patch) | |
tree | 60429c90299d968a544f2317657e8990d74b44df /html.c | |
parent | 0b39d08d805dd364423ab234fd57dcf4b87c0250 (diff) |
New optional server config directive 'disable_cache'.
Diffstat (limited to 'html.c')
-rw-r--r-- | html.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -708,6 +708,8 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * int status = 404; snac snac; char *uid, *p_path; + int cache = 1; + char *v; xs *l = xs_split_n(q_path, "/", 2); @@ -718,13 +720,17 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * return 404; } + /* check if server config variable 'disable_cache' is set */ + if ((v = xs_dict_get(srv_config, "disable_cache")) && xs_type(v) == XSTYPE_TRUE) + cache = 0; + p_path = xs_list_get(l, 2); if (p_path == NULL) { /* public timeline */ xs *h = xs_str_localtime(0, "%Y-%m.html"); - if (history_mtime(&snac, h) > timeline_mtime(&snac)) { + if (cache && history_mtime(&snac, h) > timeline_mtime(&snac)) { snac_debug(&snac, 1, xs_fmt("serving cached local timeline")); *body = history_get(&snac, h); @@ -748,7 +754,7 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char * if (!login(&snac, req)) status = 401; else { - if (history_mtime(&snac, "timeline.html_") > timeline_mtime(&snac)) { + if (cache && history_mtime(&snac, "timeline.html_") > timeline_mtime(&snac)) { snac_debug(&snac, 1, xs_fmt("serving cached timeline")); *body = history_get(&snac, "timeline.html_"); |