summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2024-11-12 06:11:10 +0100
committerGravatar default2024-11-12 06:11:10 +0100
commit4971e54e56cf577b66c191161812c742ede5791a (patch)
tree83bb449ab879f16c5935244e99f3a206b75ca804
parentmake_url() now accepts generating proxied urls by token. (diff)
downloadsnac2-4971e54e56cf577b66c191161812c742ede5791a.tar.gz
snac2-4971e54e56cf577b66c191161812c742ede5791a.tar.xz
snac2-4971e54e56cf577b66c191161812c742ede5791a.zip
mastoapi: added some proxy code.
-rw-r--r--data.c4
-rw-r--r--mastoapi.c8
2 files changed, 7 insertions, 5 deletions
diff --git a/data.c b/data.c
index f3dcc01..30cff0a 100644
--- a/data.c
+++ b/data.c
@@ -3682,10 +3682,10 @@ xs_str *make_url(const char *href, const char *proxy, int by_token)
3682 xs *tks = xs_fmt("%s:%s", xs_dict_get(srv_config, "proxy_token_seed"), proxy); 3682 xs *tks = xs_fmt("%s:%s", xs_dict_get(srv_config, "proxy_token_seed"), proxy);
3683 xs *tk = xs_md5_hex(tks, strlen(tks)); 3683 xs *tk = xs_md5_hex(tks, strlen(tks));
3684 3684
3685 p = xs_fmt("y/%s/", tk); 3685 p = xs_fmt("%s/y/%s/", proxy, tk);
3686 } 3686 }
3687 else 3687 else
3688 p = xs_str_cat(xs_dup(proxy), "/x/"); 3688 p = xs_fmt("%s/x/", proxy);
3689 3689
3690 url = xs_replace(href, "https:/" "/", p); 3690 url = xs_replace(href, "https:/" "/", p);
3691 } 3691 }
diff --git a/mastoapi.c b/mastoapi.c
index def5598..b24f2a1 100644
--- a/mastoapi.c
+++ b/mastoapi.c
@@ -866,11 +866,12 @@ xs_dict *mastoapi_status(snac *snac, const xs_dict *msg)
866 866
867 while (xs_list_iter(&p, &v)) { 867 while (xs_list_iter(&p, &v)) {
868 const char *type = xs_dict_get(v, "type"); 868 const char *type = xs_dict_get(v, "type");
869 const char *href = xs_dict_get(v, "href"); 869 const char *o_href = xs_dict_get(v, "href");
870 const char *name = xs_dict_get(v, "name"); 870 const char *name = xs_dict_get(v, "name");
871 871
872 if (xs_match(type, "image/*|video/*|Image|Video")) { /* */ 872 if (xs_match(type, "image/*|video/*|Image|Video")) { /* */
873 xs *matteid = xs_fmt("%s_%d", id, xs_list_len(matt)); 873 xs *matteid = xs_fmt("%s_%d", id, xs_list_len(matt));
874 xs *href = make_url(o_href, snac->actor, 1);
874 875
875 xs *d = xs_dict_new(); 876 xs *d = xs_dict_new();
876 877
@@ -957,9 +958,10 @@ xs_dict *mastoapi_status(snac *snac, const xs_dict *msg)
957 const xs_dict *icon = xs_dict_get(v, "icon"); 958 const xs_dict *icon = xs_dict_get(v, "icon");
958 959
959 if (!xs_is_null(name) && !xs_is_null(icon)) { 960 if (!xs_is_null(name) && !xs_is_null(icon)) {
960 const char *url = xs_dict_get(icon, "url"); 961 const char *o_url = xs_dict_get(icon, "url");
961 962
962 if (!xs_is_null(url)) { 963 if (!xs_is_null(o_url)) {
964 xs *url = make_url(o_url, snac->actor, 1);
963 xs *nm = xs_strip_chars_i(xs_dup(name), ":"); 965 xs *nm = xs_strip_chars_i(xs_dup(name), ":");
964 966
965 d1 = xs_dict_append(d1, "shortcode", nm); 967 d1 = xs_dict_append(d1, "shortcode", nm);