r5489: *** empty log message ***
[wol.git] / project.lisp
index d8a4d27d4fcbdc5105d7e6b5106c754972083d06..a6a00feb24437f3bce28741dd984aebc1e83946a 100644 (file)
@@ -7,7 +7,7 @@
 ;;;; 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
@@ -53,7 +54,8 @@
       (: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)))
@@ -66,9 +68,6 @@
     (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*)