Example IV - Highlight Web Server
import Url;
import WebServer;
var port = 9092;
var where = "/bin/highlight";
var Highlight = fun(req,res)
var url = req.param.url ? "http://www.compaq.com";
var word = req.param.word ? "Compaq";
var page = GetURL(url); // fetch the page
every w in Pat(page,word) !inside Elem(page,"title") do
var p = NewNamedPiece("font",w); // wrap a font element around it
p.size := "+1"; // define its size attribute
p.color := "red"; // define its color attribute
end;
every a in Elem(page,"a") do // for each anchor
a.href = where + // rewrite its href to be me
"?word=" + Url_Encode(word) + // word parameter
"&url=" + Url_Encode(a.href) // url parameter
? nil; // but do nothing if no href
end;
res.result = Markup(page); // this is the result
end;
WebServer_Publish(where,Highlight); // associate url with function
WebServer_Start("/dev/null",port); // disk pages root, server port
Stall() // server task runs in background