+ &key (format :html) (precompute t) headers)
+ &body body)
+ `(ecase (project-connector (entity-project ,ent))
+ (:aserve
+ (net.aserve:with-http-response
+ ((aserve-request ,req)
+ (entity-aserve-entity ,ent)
+ :content-type (ml::format-string ,format))
+ (net.aserve:with-http-body
+ ((aserve-request ,req)
+ (entity-aserve-entity ,ent)
+ :headers ,headers)
+ (let ((*html-stream* net.html.generator:*html-stream*))
+ ,@body))))
+ (:modlisp
+ (%with-wol-page (,req ,ent :format ,format :precompute ,precompute
+ :headers ,headers)
+ ,@body))))
+
+
+(defmacro %with-wol-page ((req ent