diff options
author | default <nobody@localhost> | 2022-09-26 12:29:26 +0200 |
---|---|---|
committer | default <nobody@localhost> | 2022-09-26 12:29:26 +0200 |
commit | 8f738e1417958a5e26fd8bfdf30fa4a166c0075a (patch) | |
tree | 250bc6eb1be95b1f9e031a8a79c62098ac6c2590 | |
parent | 57325b09f774c708da023946e58d32993fd77916 (diff) |
Serve the actor as the correct content-type.
-rw-r--r-- | activitypub.c | 4 | ||||
-rw-r--r-- | http.c | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/activitypub.c b/activitypub.c index 2e11a82..d792ce2 100644 --- a/activitypub.c +++ b/activitypub.c @@ -506,9 +506,12 @@ int activitypub_get_handler(d_char *req, char *q_path, p_path = xs_list_get(l, 2); + *ctype = "application/activity+json"; + if (p_path == NULL) { /* if there was no component after the user, it's an actor request */ msg = msg_actor(&snac); + *ctype = "application/ld+json"; } else if (strcmp(p_path, "outbox") == 0) { @@ -532,7 +535,6 @@ int activitypub_get_handler(d_char *req, char *q_path, if (status == 200 && msg != NULL) { *body = xs_json_dumps_pp(msg, 4); *b_size = strlen(*body); - *ctype = "application/activity+json"; } user_free(&snac); @@ -81,8 +81,11 @@ d_char *http_signed_request(snac *snac, char *method, char *url, hdrs = xs_dict_append(hdrs, k, v); /* add the new headers */ - hdrs = xs_dict_append(hdrs, "content-type", "application/activity+json"); - hdrs = xs_dict_append(hdrs, "accept", "application/activity+json"); + if (strcmp(method, "POST") == 0) + hdrs = xs_dict_append(hdrs, "content-type", "application/activity+json"); + else + hdrs = xs_dict_append(hdrs, "accept", "application/activity+json"); + hdrs = xs_dict_append(hdrs, "date", date); hdrs = xs_dict_append(hdrs, "signature", signature); hdrs = xs_dict_append(hdrs, "digest", digest); |