- &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))
- (set-cookie ,req ,ent)
- (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))))
-
+ &key (format :html) (precompute t) headers
+ (response-code 200)
+ timeout)
+ &body body)
+ `(if (request-aserve-server ,req)
+ (net.aserve:with-http-response
+ ((aserve-request ,req)
+ (entity-aserve-entity ,ent)
+ :content-type (ml::format->string ,format)
+ :timeout ,timeout
+ :response
+ (case ,response-code
+ (302 net.aserve::*response-moved-permanently*)
+ (307 net.aserve::*response-temporary-redirect*)
+ (404 net.aserve::*response-not-found*)
+ (otherwise net.aserve::*response-ok*)))
+ (set-cookie ,req ,ent)
+ (net.aserve:with-http-body
+ ((aserve-request ,req)
+ (entity-aserve-entity ,ent)
+ :headers ,headers)
+ (let ((*html-stream* net.html.generator:*html-stream*))
+ ,@body)))
+ (%with-wol-page (,req ,ent :format ,format :precompute ,precompute
+ :headers ,headers
+ :response-string
+ (case ,response-code
+ (302 "302 Moved Permanently")
+ (307 "307 Temporary Redirect")
+ (404 "404 Not Found")
+ (otherwise "200 OK")))
+ ,@body)))
+