From 94ef803701d7a7596a5347a8b9af6c586b795c92 Mon Sep 17 00:00:00 2001 From: default Date: Tue, 27 Sep 2022 19:00:24 +0200 Subject: [PATCH] Timeline pages are also served. --- activitypub.c | 22 +++++++++++++++------- httpd.c | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/activitypub.c b/activitypub.c index 025c48c..5ab7a96 100644 --- a/activitypub.c +++ b/activitypub.c @@ -773,6 +773,12 @@ int activitypub_get_handler(d_char *req, char *q_path, } else if (xs_startswith(p_path, "p/")) { + xs *id = xs_fmt("%s/%s", snac.actor, p_path); + + if ((msg = timeline_find(&snac, id)) != NULL) + msg = xs_dict_del(msg, "_snac"); + else + status = 404; } else status = 404; @@ -782,6 +788,8 @@ int activitypub_get_handler(d_char *req, char *q_path, *b_size = strlen(*body); } + snac_debug(&snac, 1, xs_fmt("activitypub_get_handler serving %s %d", q_path, status)); + user_free(&snac); return status; @@ -836,18 +844,18 @@ int activitypub_post_handler(d_char *req, char *q_path, xs *s1 = xs_sha256_base64(payload, p_size); xs *s2 = xs_fmt("SHA-256=%s", s1); - if (strcmp(s2, v) == 0) - srv_log(xs_fmt("digest check OK")); - else + if (strcmp(s2, v) != 0) { srv_log(xs_fmt("digest check FAILED")); + status = 400; + } } - enqueue_input(&snac, msg, req); + if (valid_status(status)) { + enqueue_input(&snac, msg, req); + *ctype = "application/activity+json"; + } user_free(&snac); - if (valid_status(status)) - *ctype = "application/activity+json"; - return status; } diff --git a/httpd.c b/httpd.c index 13591a1..447d30c 100644 --- a/httpd.c +++ b/httpd.c @@ -80,7 +80,7 @@ int server_get_handler(d_char *req, char *q_path, } if (status != 0) - srv_debug(1, xs_fmt("server_get_handler '%s' %d", q_path, status)); + srv_debug(1, xs_fmt("server_get_handler serving '%s' %d", q_path, status)); return status; }