Search by tag returns RSS if the appropriate header is defined.

This commit is contained in:
default 2024-05-05 11:11:32 +02:00
parent 45357b8e6e
commit ddd2af73bd

12
httpd.c
View file

@ -169,8 +169,6 @@ int server_get_handler(xs_dict *req, const char *q_path,
{ {
int status = 0; int status = 0;
(void)req;
/* is it the server root? */ /* is it the server root? */
if (*q_path == '\0') { if (*q_path == '\0') {
xs_dict *q_vars = xs_dict_get(req, "q_vars"); xs_dict *q_vars = xs_dict_get(req, "q_vars");
@ -195,7 +193,15 @@ int server_get_handler(xs_dict *req, const char *q_path,
more = 1; more = 1;
} }
*body = html_timeline(NULL, tl, 0, skip, show, more, t, NULL, 0); char *accept = xs_dict_get(req, "accept");
if (!xs_is_null(accept) && strcmp(accept, "application/rss+xml") == 0) {
xs *link = xs_fmt("%s/?t=%s", srv_baseurl, t);
*body = timeline_to_rss(NULL, tl, link, link, link);
*ctype = "application/rss+xml; charset=utf-8";
}
else
*body = html_timeline(NULL, tl, 0, skip, show, more, t, NULL, 0);
} }
else else
if (xs_type(xs_dict_get(srv_config, "show_instance_timeline")) == XSTYPE_TRUE) { if (xs_type(xs_dict_get(srv_config, "show_instance_timeline")) == XSTYPE_TRUE) {