50 lines
1.4 KiB
Scheme
50 lines
1.4 KiB
Scheme
;;; Allows sending of HTML represented in Oleg-like SXML-list instead
|
|
;;; of pure string.
|
|
;;; Copyright 2002,2003, Andreas Bernauer
|
|
|
|
|
|
;; Send surflet-sxml lists as HTML
|
|
(define (send-html/suspend html-tree-maker)
|
|
(send/suspend
|
|
(lambda (new-url)
|
|
(make-usual-html-response
|
|
(sxml->string (html-tree-maker new-url)
|
|
surflet-sxml-rules)))))
|
|
|
|
(define (send-html/finish html-tree)
|
|
(do-html-sending send/finish html-tree))
|
|
|
|
(define (send-html html-tree)
|
|
(do-html-sending send html-tree))
|
|
|
|
;; Semd strings as HTML
|
|
(define (send-html-string/suspend html-string-maker)
|
|
(send/suspend
|
|
(lambda (new-url)
|
|
(make-usual-html-response
|
|
(html-string-maker new-url)))))
|
|
|
|
(define (send-html-string/finish html-string)
|
|
(do-html-string-sending send/finish html-string))
|
|
|
|
(define (send-html-string html-string)
|
|
(do-html-string-sending send html-string))
|
|
|
|
;; Helping functions
|
|
(define (do-html-sending sender html-tree)
|
|
(sender (make-usual-html-response
|
|
(sxml->string html-tree surflet-sxml-rules))))
|
|
|
|
(define (do-html-string-sending sender html-string)
|
|
(sender (make-usual-html-response html-string)))
|
|
|
|
;; This is not for public, as we add the no-cache header that is
|
|
;; needed for SUrflets.
|
|
(define (make-usual-html-response html-string)
|
|
(make-surflet-response
|
|
(status-code ok)
|
|
"text/html"
|
|
'(("Cache-Control" . "no-cache"))
|
|
html-string))
|
|
|