summaryrefslogtreecommitdiff
path: root/guix-web/server.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2014-10-12 09:15:23 -0400
committerDavid Thompson <dthompson2@worcester.edu>2014-10-12 09:15:23 -0400
commitaf290b686003d62a1766677a2435a545215a1498 (patch)
tree707830a37cbd3f613c901be58c7c0dd3bc9e9d03 /guix-web/server.scm
parentce93e211c28004963865b8b716c3fa7d1a14e7c2 (diff)
Decouple static asset rendering from core server logic.
* guix-web/server.scm (file-mime-types, serve-static-asset): Delete. * guix-web/render.scm (file-mine-types): New variable. (render-static-asset): New procedure. * guix-web/controller.scm (controller): Add static asset rendering.
Diffstat (limited to 'guix-web/server.scm')
-rw-r--r--guix-web/server.scm21
1 files changed, 1 insertions, 20 deletions
diff --git a/guix-web/server.scm b/guix-web/server.scm
index 25f92f5..c713616 100644
--- a/guix-web/server.scm
+++ b/guix-web/server.scm
@@ -16,7 +16,6 @@
;;; <http://www.gnu.org/licenses/>.
(define-module (guix-web server)
- #:use-module (ice-9 binary-ports)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (web http)
@@ -29,22 +28,6 @@
#:use-module (guix-web util)
#:export (start-guix-web))
-(define file-mime-types
- '(("css" . (text/css))
- ("js" . (text/javascript))
- ("png" . (image/png))))
-
-(define (serve-static-asset request)
- (let ((filename (string-join
- (cons guix-web-asset-dir
- (request-path-components request))
- "/")))
- (and (file-exists? filename)
- (not (directory? filename))
- (list `((content-type . ,(assoc-ref file-mime-types
- (file-extension filename))))
- (call-with-input-file filename get-bytevector-all)))))
-
(define (run-controller controller request)
(controller (cons (request-method request)
(request-path-components request))))
@@ -55,9 +38,7 @@
(uri-path (request-uri request)))
(apply values
(append
- (or (run-controller controller request)
- (serve-static-asset request)
- (not-found (request-uri request)))
+ (run-controller controller request)
(list controller))))
(define (start-guix-web controller)