From d3a36218a6ebfc951ff38c410ac1c29ec15c3c7f Mon Sep 17 00:00:00 2001 From: default Date: Fri, 5 May 2023 09:54:41 +0200 Subject: Implemented 'Ping' and 'Pong' activities. According to https://humungus.tedunangst.com/r/honk/v/tip/f/docs/ping.txt --- main.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'main.c') diff --git a/main.c b/main.c index 6a0bb74..b8fc97b 100644 --- a/main.c +++ b/main.c @@ -30,6 +30,7 @@ int usage(void) printf("actor {basedir} {uid} {url} Requests an actor\n"); printf("note {basedir} {uid} {'text'} Sends a note to followers\n"); printf("resetpwd {basedir} {uid} Resets the password of a user\n"); + printf("ping {basedir} {uid} {actor} Pings an actor\n"); return 1; } @@ -228,6 +229,19 @@ int main(int argc, char *argv[]) return 0; } + if (strcmp(cmd, "ping") == 0) { + xs *msg = msg_ping(&snac, url); + + enqueue_output_by_actor(&snac, msg, url, 0); + + if (dbglevel) { + xs *j = xs_json_dumps_pp(msg, 4); + printf("%s\n", msg); + } + + return 0; + } + if (strcmp(cmd, "request") == 0) { int status; xs *data = NULL; -- cgit v1.2.3 From 8cd79df272645da70cfe2980d6f9c0c33c13e452 Mon Sep 17 00:00:00 2001 From: default Date: Fri, 5 May 2023 10:08:39 +0200 Subject: Fixed bug in ping cmdline debug output. --- main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'main.c') diff --git a/main.c b/main.c index b8fc97b..c44b527 100644 --- a/main.c +++ b/main.c @@ -236,7 +236,7 @@ int main(int argc, char *argv[]) if (dbglevel) { xs *j = xs_json_dumps_pp(msg, 4); - printf("%s\n", msg); + printf("%s\n", j); } return 0; -- cgit v1.2.3 From daaf863d83acd8638a29b8bbf9d6bedb7fae40f2 Mon Sep 17 00:00:00 2001 From: default Date: Fri, 5 May 2023 12:47:17 +0200 Subject: The 'ping' command-line requests the actor for better error info. --- main.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index c44b527..3f34673 100644 --- a/main.c +++ b/main.c @@ -230,13 +230,21 @@ int main(int argc, char *argv[]) } if (strcmp(cmd, "ping") == 0) { - xs *msg = msg_ping(&snac, url); + xs *actor_o = NULL; - enqueue_output_by_actor(&snac, msg, url, 0); + if (valid_status(actor_request(&snac, url, &actor_o))) { + xs *msg = msg_ping(&snac, url); - if (dbglevel) { - xs *j = xs_json_dumps_pp(msg, 4); - printf("%s\n", j); + enqueue_output_by_actor(&snac, msg, url, 0); + + if (dbglevel) { + xs *j = xs_json_dumps_pp(msg, 4); + printf("%s\n", j); + } + } + else { + srv_log(xs_fmt("Error getting actor %s", url)); + return 1; } return 0; -- cgit v1.2.3