diff options
author | default <nobody@localhost> | 2022-09-27 19:00:24 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-09-27 19:00:24 +0200 |
commit | 94ef803701d7a7596a5347a8b9af6c586b795c92 (patch) | |
tree | e393e8a6a045e320b9e556ae8f9b380f0ae4b36b | |
parent | 66a7f633b3b48d0d5652fb6c2af23badf379a4cb (diff) |
Timeline pages are also served.
-rw-r--r-- | activitypub.c | 22 | ||||
-rw-r--r-- | 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; } @@ -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; } |