Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
1 #! @l_prefix@/bin/perl
2 ##
3 ## webstat.pl: return HTTP server hits and bytes
4 ##
5 ## Configure Apache HTTP server like so:
6 ## <Location /server-status>
7 ## SetHandler server-status
8 ## Order allow,deny
9 ## Allow from localhost
10 ## </Location>
11 ## ExtendedStatus On
12 ##
14 @res = `@l_prefix@/bin/lynx -dump http://localhost/server-status`;
16 foreach $res (@res) {
17 if ($res =~ /Server uptime: (.*)$/) {
18 $up = $1;last
19 }
20 else {
21 next
22 }
24 if ($res =~ /Server at/) {
25 $server = $res;
26 last
27 }
28 else {
29 next
30 }
31 }
33 @res = `@l_prefix@/bin/lynx -dump http://localhost/server-status?auto`;
35 foreach $res (@res) {
36 if ($res =~ /Total Accesses: (\d+)/) {
37 $d1 = $1;
38 next
39 }
41 if ($res =~ /Total kBytes: (\d+)/) {
42 $d2 = $1 * 1024;
43 next
44 }
45 }
47 $d1 = int($d1);
48 $d2 = int($d2);
50 if ($ARGV[0] eq "hits") {
51 print "$d1\n";
52 print "$d1\n";
53 } elsif ($ARGV[0] eq "bytes") {
54 print "$d2\n";
55 print "$d2\n";
56 }
58 print "$up\n";
59 print "$server";
60 print "$null\n";
61 print "$null\n";