File stmlrun.scm artifact ced526ca73 part of check-in 18e7e965e2


#!/usr/local/bin/csi -q

;; Copyright 2007-2011, Matthew Welland.
;; 
;;  This program is made available under the GNU GPL version 2.0 or
;;  greater. See the accompanying file COPYING for details.
;; 
;;  This program is distributed WITHOUT ANY WARRANTY; without even the
;;  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
;;  PURPOSE.

;; (require-extension syntax-case)
;; (declare (run-time-macros))

(handle-exceptions
 exn   
 (begin
   (print "Content-type: text/html")
   (print "")
   (print "<html> <head> <title>EXCEPTION</title> </head> <body>")
   (print "   QUERY_STRING is: <b> " (get-environment-variable "QUERY_STRING") " </b> <br>")
   (print "<pre>")
   ;; (print "   EXCEPTION: " ((condition-property-accessor 'exn 'message) exn))
   (print-error-message exn)
   (print-call-chain)
   (print "</pre>")
   (print "<table>")
   (for-each (lambda (var)
	       (print "<tr><td>" (car var) "</td><td>" (cdr var) "</td></tr>"))
	     (get-environment-variables))
   (print "</table>")
   (print "</body></html>"))
 (include "requirements.scm")
 (declare (uses cookie))
 (declare (uses html-filter))
 (declare (uses misc-stml))
 (declare (uses formdat))
 (declare (uses stml))
 (declare (uses session))
 (declare (uses setup)) ;; s:session gets created here
 (declare (uses sqltbl))
 (declare (uses keystore))
 
 (sdat-set-log-port! s:session ;; (current-error-port))
 		     (open-output-file (sdat-get-logfile s:session) #:append))
 (s:validate-inputs)
 (session:run-actions s:session)
 (sdat-set-pagedat! s:session
 		    (append (sdat-get-pagedat s:session)
 			    (s:call (sdat-get-toppage s:session))))
 (if (eq? (sdat-get-page-type s:session) 'html) ;; default is html. 
     (session:cgi-out s:session)
     (session:alt-out s:session))
 (session:save-vars s:session)
 (session:close s:session)
 ;; (raise-error)
 ;; (exit)
 )