From 9d5bec0b6deb5d7a9efd5df907c869b9f6c8043f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 9 Mar 2022 00:57:31 +0100 Subject: Calp server now 404s on missing file on disk. --- module/calp/server/routes.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/module/calp/server/routes.scm b/module/calp/server/routes.scm index 3fa9bc4d..843eb01c 100644 --- a/module/calp/server/routes.scm +++ b/module/calp/server/routes.scm @@ -433,10 +433,18 @@ [(js) "javascript"] [else ext])) - (return - `((content-type ,(string->symbol (string-append "text/" mime)))) - (call-with-input-file (string-append "static/" * "." ext) - read-string))) + (catch 'system-error + (lambda () + (return + `((content-type ,(string->symbol (string-append "text/" mime)))) + (call-with-input-file (string-append "static/" * "." ext) + read-string))) + (lambda (err proc fmt fmt-args data) + (warning (format #f "404|500: ~?" fmt fmt-args)) + (if (and (not (null? data)) (= 2 (car data))) + (return (build-response code: 404) + (format #f "~?" fmt fmt-args)) + (scm-error err proc fmt fmt-args data))))) (GET "/static/:*{.*}" (*) (return -- cgit v1.2.3