Next: , Previous: , Up: Some Applications and Techniques [Contents][Index]


3.1 PANIC: An Emergency Web Server

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)
 }
}

AltStyle によって変換されたページ (->オリジナル) /