Bladeren bron

Added support for one-entry timeline.

default 3 jaren geleden
bovenliggende
commit
f124d7accb
2 gewijzigde bestanden met toevoegingen van 15 en 3 verwijderingen
  1. 14 3
      html.c
  2. 1 0
      snac.h

+ 14 - 3
html.c

@@ -721,15 +721,26 @@ int html_get_handler(d_char *req, char *q_path, char **body, int *b_size, char *
         }
     }
     else
-    if (xs_startswith(p_path, "p/") == 0) {
+    if (xs_startswith(p_path, "p/")) {
         /* a timeline with just one entry */
+        xs *id = xs_fmt("%s/%s", snac.actor, p_path);
+        xs *fn = _timeline_find_fn(&snac, id);
+
+        if (fn != NULL) {
+            xs *list = xs_list_new();
+            list = xs_list_append(list, fn);
+
+            *body   = html_timeline(&snac, list, 1);
+            *b_size = strlen(*body);
+            status  = 200;
+        }
     }
     else
-    if (xs_startswith(p_path, "s/") == 0) {
+    if (xs_startswith(p_path, "s/")) {
         /* a static file */
     }
     else
-    if (xs_startswith(p_path, "h/") == 0) {
+    if (xs_startswith(p_path, "h/")) {
         /* an entry from the history */
     }
     else

+ 1 - 0
snac.h

@@ -61,6 +61,7 @@ int follower_check(snac *snac, char *actor);
 d_char *follower_list(snac *snac);
 
 int timeline_here(snac *snac, char *id);
+d_char *_timeline_find_fn(snac *snac, char *id);
 d_char *timeline_find(snac *snac, char *id);
 void timeline_del(snac *snac, char *id);
 d_char *timeline_get(snac *snac, char *fn);