summaryrefslogtreecommitdiff
path: root/activitypub.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2023-02-07 10:29:06 +0100
committerdefault <nobody@localhost>2023-02-07 10:29:06 +0100
commit3ddf76c2aa09ed3e05fbe04c659d80c38a96af17 (patch)
tree9e4568e8895484be17a3f366ff1bd9daede299d6 /activitypub.c
parent67f2d4318d76b305ab98a48ff48b47e2e87126c2 (diff)
New function send_to_inbox_raw().
Diffstat (limited to 'activitypub.c')
-rw-r--r--activitypub.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/activitypub.c b/activitypub.c
index 5c98389..8e17daa 100644
--- a/activitypub.c
+++ b/activitypub.c
@@ -160,14 +160,16 @@ int timeline_request(snac *snac, char **id, d_char **wrk)
}
-int send_to_inbox(snac *snac, char *inbox, char *msg, d_char **payload, int *p_size, int timeout)
+int send_to_inbox_raw(const char *keyid, const char *seckey,
+ const xs_str *inbox, const xs_dict *msg,
+ xs_val **payload, int *p_size, int timeout)
/* sends a message to an Inbox */
{
int status;
- d_char *response;
- xs *j_msg = xs_json_dumps_pp(msg, 4);
+ xs_dict *response;
+ xs *j_msg = xs_json_dumps_pp((xs_dict *)msg, 4);
- response = http_signed_request(snac, "POST", inbox,
+ response = http_signed_request_raw(keyid, seckey, "POST", inbox,
NULL, j_msg, strlen(j_msg), &status, payload, p_size, timeout);
xs_free(response);
@@ -176,6 +178,16 @@ int send_to_inbox(snac *snac, char *inbox, char *msg, d_char **payload, int *p_s
}
+int send_to_inbox(snac *snac, const xs_str *inbox, const xs_dict *msg,
+ xs_val **payload, int *p_size, int timeout)
+/* sends a message to an Inbox */
+{
+ char *seckey = xs_dict_get(snac->key, "secret");
+
+ return send_to_inbox_raw(snac->actor, seckey, inbox, msg, payload, p_size, timeout);
+}
+
+
d_char *get_actor_inbox(snac *snac, char *actor)
/* gets an actor's inbox */
{