commit 484dd12
default
·
2024-11-07 16:27:11 +0000 UTC
parent 80a084e
More proxy_media work.
1 files changed,
+16,
-9
M
html.c
M
html.c
+16,
-9
1@@ -120,7 +120,7 @@ xs_str *actor_name(xs_dict *actor)
2
3
4 xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date,
5- const char *udate, const char *url, int priv, int in_people)
6+ const char *udate, const char *url, int priv, int in_people, int proxy)
7 {
8 xs_html *actor_icon = xs_html_tag("p", NULL);
9
10@@ -138,7 +138,7 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date,
11 v = xs_list_get(v, 0);
12
13 if ((v = xs_dict_get(v, "url")) != NULL)
14- avatar = xs_dup(v);
15+ avatar = make_url(user, proxy, v);
16 }
17
18 if (avatar == NULL)
19@@ -263,7 +263,7 @@ xs_html *html_actor_icon(snac *user, xs_dict *actor, const char *date,
20 }
21
22
23-xs_html *html_msg_icon(snac *user, const char *actor_id, const xs_dict *msg)
24+xs_html *html_msg_icon(snac *user, const char *actor_id, const xs_dict *msg, int proxy)
25 {
26 xs *actor = NULL;
27 xs_html *actor_icon = NULL;
28@@ -283,7 +283,7 @@ xs_html *html_msg_icon(snac *user, const char *actor_id, const xs_dict *msg)
29 date = xs_dict_get(msg, "published");
30 udate = xs_dict_get(msg, "updated");
31
32- actor_icon = html_actor_icon(user, actor, date, udate, url, priv, 0);
33+ actor_icon = html_actor_icon(user, actor, date, udate, url, priv, 0, proxy);
34 }
35
36 return actor_icon;
37@@ -1515,7 +1515,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only,
38 xs_html_tag("div",
39 xs_html_attr("class", "snac-origin"),
40 xs_html_text(L("follows you"))),
41- html_msg_icon(read_only ? NULL : user, xs_dict_get(msg, "actor"), msg)));
42+ html_msg_icon(read_only ? NULL : user, xs_dict_get(msg, "actor"), msg, proxy_media)));
43 }
44 else
45 if (!xs_match(type, POSTLIKE_OBJECT_TYPE)) {
46@@ -1694,7 +1694,7 @@ xs_html *html_entry(snac *user, xs_dict *msg, int read_only,
47 }
48
49 xs_html_add(post_header,
50- html_msg_icon(read_only ? NULL : user, actor, msg));
51+ html_msg_icon(read_only ? NULL : user, actor, msg, proxy_media));
52
53 /** post content **/
54
55@@ -2435,6 +2435,8 @@ xs_str *html_timeline(snac *user, const xs_list *list, int read_only,
56
57 xs_html *html_people_list(snac *snac, xs_list *list, char *header, char *t)
58 {
59+ int proxy_media = xs_is_true(xs_dict_get(srv_config, "proxy_media"));
60+
61 xs_html *snac_posts;
62 xs_html *people = xs_html_tag("div",
63 xs_html_tag("h2",
64@@ -2459,7 +2461,8 @@ xs_html *html_people_list(snac *snac, xs_list *list, char *header, char *t)
65 xs_html_attr("name", md5)),
66 xs_html_tag("div",
67 xs_html_attr("class", "snac-post-header"),
68- html_actor_icon(snac, actor, xs_dict_get(actor, "published"), NULL, NULL, 0, 1)));
69+ html_actor_icon(snac, actor, xs_dict_get(actor, "published"),
70+ NULL, NULL, 0, 1, proxy_media)));
71
72 /* content (user bio) */
73 const char *c = xs_dict_get(actor, "summary");
74@@ -2580,6 +2583,8 @@ xs_str *html_people(snac *user)
75
76 xs_str *html_notifications(snac *user, int skip, int show)
77 {
78+ int proxy_media = xs_is_true(xs_dict_get(srv_config, "proxy_media"));
79+
80 xs *n_list = notify_list(user, skip, show);
81 xs *n_time = notify_check_time(user, 0);
82
83@@ -2680,7 +2685,7 @@ xs_str *html_notifications(snac *user, int skip, int show)
84 xs_html_add(entry,
85 xs_html_tag("div",
86 xs_html_attr("class", "snac-post"),
87- html_actor_icon(user, actor, NULL, NULL, NULL, 0, 0)));
88+ html_actor_icon(user, actor, NULL, NULL, NULL, 0, 0, proxy_media)));
89 }
90 else
91 if (strcmp(type, "Move") == 0) {
92@@ -2694,7 +2699,7 @@ xs_str *html_notifications(snac *user, int skip, int show)
93 xs_html_add(entry,
94 xs_html_tag("div",
95 xs_html_attr("class", "snac-post"),
96- html_actor_icon(user, old_actor, NULL, NULL, NULL, 0, 0)));
97+ html_actor_icon(user, old_actor, NULL, NULL, NULL, 0, 0, proxy_media)));
98 }
99 }
100 }
101@@ -3196,6 +3201,8 @@ int html_get_handler(const xs_dict *req, const char *q_path,
102 xs *url = xs_replace(p_path, "proxy/", "https:/" "/");
103 xs *hdrs = xs_dict_new();
104
105+ hdrs = xs_dict_append(hdrs, "user-agent", USER_AGENT);
106+
107 xs *rsp = xs_http_request("GET", url, hdrs,
108 NULL, 0, &status, body, b_size, 0);
109