(def serve ((o port 8080))
  (wipe quitsrv*)
  (ensure-srvdirs)
  (w/socket s port
    (prn "ready to serve port " port)
    (= currsock* s)
    (until quitsrv*
      (if breaksrv* 
          (handle-request s)
          (errsafe (handle-request s)))))
  (prn "quit server"))

From srv.arc ©