diff --git a/scheme/httpd/cgi-server.scm b/scheme/httpd/cgi-server.scm
index 2c0cbfe..4dda10e 100644
--- a/scheme/httpd/cgi-server.scm
+++ b/scheme/httpd/cgi-server.scm
@@ -138,7 +138,8 @@
(else
(cgi-make-response (run/port* doit) path req)))))
- (else (make-http-error-response http-status/method-not-allowed req))))))
+ (else
+ (make-http-error-response http-status/method-not-allowed req request-method))))))
(define (split-and-decode-search-spec s)
diff --git a/scheme/httpd/file-dir-handler.scm b/scheme/httpd/file-dir-handler.scm
index fa1e09e..f01d45e 100644
--- a/scheme/httpd/file-dir-handler.scm
+++ b/scheme/httpd/file-dir-handler.scm
@@ -161,7 +161,9 @@
(else (make-http-error-response http-status/forbidden req)))))
- (else (make-http-error-response http-status/method-not-allowed req))))))
+ (else
+ (make-http-error-response http-status/method-not-allowed req
+ request-method))))))
(define (directory-index-serve-response fname file-path req)
(file-serve-response (string-append fname "index.html") file-path req))
@@ -396,7 +398,8 @@
(emit-tag port 'hr)
(format port "~d files" n-files))))))))))))
(else
- (make-http-error-response http-status/method-not-allowed req)))))
+ (make-http-error-response http-status/method-not-allowed req
+ request-method)))))
(define (index-or-directory-serve-response fname file-path req)
(let ((index-fname (string-append fname "index.html")))
diff --git a/scheme/httpd/info-gateway.scm b/scheme/httpd/info-gateway.scm
index 1f56d69..9592221 100644
--- a/scheme/httpd/info-gateway.scm
+++ b/scheme/httpd/info-gateway.scm
@@ -167,7 +167,9 @@
(with-tag out address ()
(write-string address out)))))))
- (else (http-error http-status/method-not-allowed req)))))))
+ (else
+ (make-http-error-response http-status/method-not-allowed req
+ request-method)))))))
(define split-header-line
(let ((split (infix-splitter (make-regexp "(, *)|( +)|( *\t *)")))
diff --git a/scheme/httpd/response.scm b/scheme/httpd/response.scm
index 499e2d0..74bc184 100644
--- a/scheme/httpd/response.scm
+++ b/scheme/httpd/response.scm
@@ -99,6 +99,9 @@
(generic-title (lambda (port)
(title-html port
(status-code->text status-code))))
+ (send-message (lambda (port)
+ (if message
+ (format port "
~%Further Information: ~A
~%" message))))
(close-html (lambda (port)
(for-each (lambda (x) (format port "
~s~%" x)) extras)
(write-string "