At first glance, the "Hello, world"
example in
A Primitive Web Service,
seems useless. By adding just a few lines, we can turn it into something useful.
The PANIC program tells everyone who connects that the local site is not working. When a web server breaks down, it makes a difference if customers get a strange “network unreachable” message, or a short message telling them that the server has a problem. In such an emergency, the hard disk and everything on it (including the regular web service) may be unavailable. Rebooting the web server off a USB drive makes sense in this setting.
To use the PANIC program as an emergency web server, all you need are the
gawk
executable and the program below on a USB drive. By default,
it connects to port 8080. A different value may be supplied on the
command line:
BEGIN { RS = ORS = "\r\n" if (MyPort == 0) MyPort = 8080 HttpService = "/inet/tcp/" MyPort "/0/0" Hello = "<HTML><HEAD><TITLE>Out Of Service</TITLE>" \ "</HEAD><BODY><H1>" \ "This site is temporarily out of service." \ "</H1></BODY></HTML>" Len = length(Hello) + length(ORS) while ("awk" != "complex") { print "HTTP/1.0 200 OK" |& HttpService print "Content-Length: " Len ORS |& HttpService print Hello |& HttpService while ((HttpService |& getline) > 0) continue; close(HttpService) } }