commit 2da394a

default  ·  2024-02-16 04:47:18 +0000 UTC
parent 79f79c0
Added 'accept' and 'user-agent' headers to verify_links().
1 files changed,  +17, -4
+17, -4
 1@@ -418,6 +418,10 @@ void verify_links(snac *user)
 2     char *k, *v;
 3     int changed = 0;
 4 
 5+    xs *headers = xs_dict_new();
 6+    headers = xs_dict_append(headers, "accept", "text/html");
 7+    headers = xs_dict_append(headers, "user-agent", USER_AGENT " (link verify)");
 8+
 9     while (p && xs_dict_iter(&p, &k, &v)) {
10         /* not an https link? skip */
11         if (!xs_startswith(v, "https:/" "/"))
12@@ -428,11 +432,11 @@ void verify_links(snac *user)
13         xs *payload = NULL;
14         int p_size = 0;
15 
16-        req = xs_http_request("GET", v, NULL, NULL, 0, &status,
17+        req = xs_http_request("GET", v, headers, NULL, 0, &status,
18             &payload, &p_size, 0);
19 
20         if (!valid_status(status)) {
21-            snac_log(user, xs_fmt("verify link %s error %d", v, status));
22+            snac_log(user, xs_fmt("link %s verify error %d", v, status));
23             continue;
24         }
25 
26@@ -441,6 +445,7 @@ void verify_links(snac *user)
27 
28         xs_list *lp = ls;
29         char *ll;
30+        int vfied = 0;
31 
32         while (xs_list_iter(&lp, &ll)) {
33             /* extract href and rel */
34@@ -490,15 +495,23 @@ void verify_links(snac *user)
35 
36                     user->links = xs_dict_set(user->links, v, verified_at);
37 
38-                    changed++;
39+                    vfied = 1;
40 
41-                    snac_log(user, xs_fmt("link %s verified at %s", v, verified_at));
42+                    break;
43                 }
44                 else
45                     snac_debug(user, 1,
46                         xs_fmt("verify link %s rel='me' found but not related (%s)", v, href));
47             }
48         }
49+
50+        if (vfied) {
51+            changed++;
52+            snac_log(user, xs_fmt("link %s verified", v));
53+        }
54+        else {
55+            snac_log(user, xs_fmt("link %s not verified (rel='me' not found)", v));
56+        }
57     }
58 
59     if (changed) {