commit e8b94c1

default  ·  2023-12-26 09:41:55 +0000 UTC
parent d9ca841
New page status.txt.

It just return an empty page as a query, but some status logging is done.
1 files changed,  +14, -2
+14, -2
 1@@ -30,6 +30,8 @@ int use_fcgi = 0;
 2 
 3 int srv_running = 0;
 4 
 5+time_t srv_start_time = 0;
 6+
 7 /* nodeinfo 2.0 template */
 8 const char *nodeinfo_2_0_template = ""
 9     "{\"version\":\"2.0\","
10@@ -209,6 +211,15 @@ int server_get_handler(xs_dict *req, const char *q_path,
11         *body  = xs_str_new("User-agent: *\n"
12                             "Disallow: /\n");
13     }
14+    else
15+    if (strcmp(q_path, "/status.txt") == 0) {
16+        status = 200;
17+        *ctype = "text/plain";
18+        *body  = xs_str_new("UP\n");
19+
20+        xs *uptime = xs_str_time_diff(time(NULL) - srv_start_time);
21+        srv_log(xs_fmt("status: uptime: %s", uptime));
22+    }
23 
24     if (status != 0)
25         srv_debug(1, xs_fmt("server_get_handler serving '%s' %d", q_path, status));
26@@ -591,10 +602,11 @@ void httpd(void)
27     pthread_t threads[MAX_THREADS] = {0};
28     int n_threads = 0;
29     int n;
30-    time_t start_time = time(NULL);
31     char sem_name[24];
32     sem_t anon_job_sem;
33 
34+    srv_start_time = time(NULL);
35+
36     use_fcgi = xs_type(xs_dict_get(srv_config, "fastcgi")) == XSTYPE_TRUE;
37 
38     address = xs_dict_get(srv_config, "address");
39@@ -697,7 +709,7 @@ void httpd(void)
40     sem_close(job_sem);
41     sem_unlink(sem_name);
42 
43-    xs *uptime = xs_str_time_diff(time(NULL) - start_time);
44+    xs *uptime = xs_str_time_diff(time(NULL) - srv_start_time);
45 
46     srv_log(xs_fmt("httpd%s stop %s:%s (run time: %s)", use_fcgi ? " (FastCGI)" : "",
47                 address, port, uptime));