43 lines
958 B
Scheme
43 lines
958 B
Scheme
|
(define-structure plugin plugin-interface
|
||
|
(open scsh
|
||
|
scheme
|
||
|
plugin-utilities
|
||
|
httpd-responses
|
||
|
crlf-io)
|
||
|
(begin
|
||
|
(define (main req)
|
||
|
(let ((news-input (open-input-file "news.txt")))
|
||
|
(let loop ()
|
||
|
(let ((next-line (read-crlf-line news-input)))
|
||
|
(if (eof-object? next-line)
|
||
|
(send/finish
|
||
|
(make-response
|
||
|
http-status/ok
|
||
|
(status-code->text http-status/ok)
|
||
|
(time)
|
||
|
"text/html"
|
||
|
'()
|
||
|
(make-writer-body
|
||
|
(lambda (out options)
|
||
|
(format out
|
||
|
"<HTML><BODY><H1>THAT'S IT<H1><P>
|
||
|
That's it...</BODY></HTML>")))))
|
||
|
(begin
|
||
|
(send/suspend
|
||
|
(lambda (next-url)
|
||
|
(make-response
|
||
|
http-status/ok
|
||
|
(status-code->text http-status/ok)
|
||
|
(time)
|
||
|
"text/html"
|
||
|
'()
|
||
|
(make-writer-body
|
||
|
(lambda (out options)
|
||
|
(format out
|
||
|
"<HTML><BODY><H1>~a<H1><P>
|
||
|
<A href=~a>read more...</A></BODY></HTML>"
|
||
|
next-line
|
||
|
next-url))))))
|
||
|
(loop)))))))
|
||
|
))
|