aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-03-31 00:40:39 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-03-31 00:40:39 +0200
commit51a2c21f57b3ff3fce3ab7c3c2a9e4985f45258a (patch)
tree1de39df99024c577c5ae42039b4a4b05fd301f41
parentChange html-generate to take everything as kv-args. (diff)
downloadcalp-51a2c21f57b3ff3fce3ab7c3c2a9e4985f45258a.tar.gz
calp-51a2c21f57b3ff3fce3ab7c3c2a9e4985f45258a.tar.xz
Change url-parsing so '.' is a delimiter.
-rw-r--r--module/entry-points/server.scm15
-rw-r--r--module/server/macro.scm4
2 files changed, 12 insertions, 7 deletions
diff --git a/module/entry-points/server.scm b/module/entry-points/server.scm
index c072d18b..0b9512fc 100644
--- a/module/entry-points/server.scm
+++ b/module/entry-points/server.scm
@@ -54,12 +54,17 @@
(sxml->xml-string
(directory-table "static/"))))
- (GET "/static/:filename" (filename)
+ (GET "/static/:filename.css" (filename)
(return
- `((content-type ,(case (string->symbol (file-extension filename))
- ((js) 'text/javascript)
- ((css) 'text/css))))
- (call-with-input-file (string-append "static/" filename) read-string)))
+ `((content-type text/css))
+ (call-with-input-file (string-append "static/" filename ".css")
+ read-string)))
+
+ (GET "/static/:filename.js" (filename)
+ (return
+ `((content-type text/javascript))
+ (call-with-input-file (string-append "static/" filename ".js")
+ read-string)))
(GET "/count" ()
;; (sleep 1)
diff --git a/module/server/macro.scm b/module/server/macro.scm
index 123fc468..e325401a 100644
--- a/module/server/macro.scm
+++ b/module/server/macro.scm
@@ -10,7 +10,7 @@
(define-public (parse-endpoint-string str)
- (let ((rx (make-regexp ":([^/]+)")))
+ (let ((rx (make-regexp ":([^/.]+)")))
(let loop ((str str)
(string "")
(tokens '()))
@@ -18,7 +18,7 @@
(if (not m)
(values (string-append string str) (reverse tokens))
(loop (match:suffix m)
- (string-append string (match:prefix m) "([^/]+)")
+ (string-append string (match:prefix m) "([^/.]+)")
(cons (string->symbol (match:substring m 1))
tokens)))))))