commit eb0c7ea
default
·
2023-03-01 08:22:32 +0000 UTC
parent d75a22a
Minor refactoring to actor_request(). Including commented out experimental code for collecting sharedInboxes.
1 files changed,
+29,
-10
+29,
-10
1@@ -96,24 +96,43 @@ int actor_request(snac *snac, char *actor, d_char **data)
2 int status, status2;
3 xs *payload = NULL;
4
5+ if (data)
6+ *data = NULL;
7+
8 /* get from disk first */
9 status = actor_get(snac, actor, data);
10
11- if (status == 200)
12- return status;
13+ if (status != 200) {
14+ /* actor data non-existent or stale: get from the net */
15+ status2 = activitypub_request(snac, actor, &payload);
16+
17+ if (valid_status(status2)) {
18+ /* renew data */
19+ status = actor_add(snac, actor, payload);
20+
21+ if (data != NULL) {
22+ *data = payload;
23+ payload = NULL;
24+ }
25+ }
26+ }
27
28- /* actor data non-existent or stale: get from the net */
29- status2 = activitypub_request(snac, actor, &payload);
30+#if 0
31+ if (valid_status(status) && data && *data) {
32+ xs *fn = xs_fmt("%s/inboxes.lst", srv_basedir);
33+ FILE *f;
34
35- if (valid_status(status2)) {
36- /* renew data */
37- status = actor_add(snac, actor, payload);
38+ if ((f = fopen(fn, "a")) != NULL) {
39+ char *v;
40+ if (!xs_is_null(v = xs_dict_get(*data, "endpoints")) &&
41+ !xs_is_null(v = xs_dict_get(v, "sharedInbox"))) {
42+ fprintf(f, "%s\n", v);
43+ }
44
45- if (data != NULL) {
46- *data = payload;
47- payload = NULL;
48+ fclose(f);
49 }
50 }
51+#endif
52
53 return status;
54 }