(= baseops* (table)) (extend respond (req) (baseops* req!op) (it req)) ; bug: using one of srv's defop etc. should wipe name in baseops* (mac defop-base (name . body) (w/uniq req `(do (wipe (srvops* ',name) (redirector* ',name)) (= (baseops* ',name) (fn (,req) (with-req ,req ,@body)))))) (def assoclist (x) (and (acons x) (acons (car x)))) (def set-cookies () (let cooks (let _ req!cookies-to-set (if (assoclist _) _ (list _))) (each cook cooks (whenlet (k v (o persistent)) cook (pr "Set-Cookie: " k "=" v) (if persistent (pr "; expires=Sun, 17-Jan-2038 19:14:07 GMT")) (prn))))) (def html-content () (prn header*) (set-cookies) (prn)) (def redirect (url) (prn rdheader*) (set-cookies) (prn "Location: " url) (prn))