#!/usr/physics/gauche/bin/gosh (use www.cgi) (use www.fastcgi) (use text.html-lite) (use text.csv) (use srfi-13) (use srfi-19) (use file.util) (define DATADIR "/some-directory") (define (body params) `(,(cons "Content-disposition: attachment; filename=\"reudata.csv\"\n" (cgi-header :content-type "application/octet-stream")) ,(string-join (map (lambda (fname) (call-with-input-file fname (lambda (ip) (string-concatenate (port-map (lambda (l) l) (lambda () (read-line ip)))) ) ) ) (directory-list DATADIR :children? #t :add-path? #t) ) "\r\n" ) ) ) (define (main args) (with-fastcgi (cut cgi-main body)) 0 )