New optional server config directive 'disable_cache'.

This commit is contained in:
default 2022-10-09 17:54:01 +02:00
parent 0b39d08d80
commit 305591ae31

10
html.c
View file

@ -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_");