(def respond (str op args cooks ip)
(w/stdout str
(aif (srvops* op)
(let req (inst 'request 'args args 'cooks cooks 'ip ip)
(if (redirector* op)
(do (prn rdheader*)
(prn "Location: " (it str req))
(prn))
(do (prn header*)
(it str req))))
(static-filetype op)
(do (prn (srv-header* it))
(prn)
(w/infile i (string op)
(whilet b (readb i)
(writeb b str))))
(respond-err str unknown-msg*))))
From srv.arc
©