summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-09-26 12:29:26 +0200
committerdefault <nobody@localhost>2022-09-26 12:29:26 +0200
commit8f738e1417958a5e26fd8bfdf30fa4a166c0075a (patch)
tree250bc6eb1be95b1f9e031a8a79c62098ac6c2590
parent57325b09f774c708da023946e58d32993fd77916 (diff)
Serve the actor as the correct content-type.
-rw-r--r--activitypub.c4
-rw-r--r--http.c7
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);
diff --git a/http.c b/http.c
index 379080e..2a99c2b 100644
--- a/http.c
+++ b/http.c
@@ -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);