;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: July 2003
;;;;
-;;;; $Id: project.lisp,v 1.12 2003/08/10 07:38:37 kevin Exp $
+;;;; $Id: project.lisp,v 1.13 2003/08/10 17:56:44 kevin Exp $
;;;;
;;;; This file and Wol are Copyright (c) 2001-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
(in-package #:wol)
(defun wol-project (name &key (project-prefix "/") map index
- (sessions t) (session-lifetime 18000)
- (reap-interval 300) server
- (connector :modlisp))
+ (sessions t) (session-lifetime 18000)
+ (reap-interval 300) server
+ (connector :modlisp)
+ timeout)
(unless server
(setq server
(ecase connector
(:aserve
(net.aserve:publish-prefix :prefix project-prefix
:server server
- :function 'wol-aserve-processor)))
+ :function 'wol-aserve-processor
+ :timeout timeout)))
(if sessions
(when (null (sessions (session-master project)))
(when (and sessions (null *reaper-process*))
(setq *reaper-process* (start-reaper)))))
-(defun stop-wol-project (name)
- (remhash name *active-projects*))
-
(defun wol-ml-processor (command)
"Processes an incoming modlisp command"
(let* ((req (command->request command
(defmacro with-wol-page ((req ent
&key (format :html) (precompute t) headers
- (response-code 200))
+ (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*)