aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-08-17 18:46:21 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-08-17 18:46:21 +0200
commit6461d1b45c7431b36393fd56423298c81f7208ae (patch)
treed712742e3a72c57c4410131ae4ff10af429e7812
parentFixes. (diff)
downloadcalp-6461d1b45c7431b36393fd56423298c81f7208ae.tar.gz
calp-6461d1b45c7431b36393fd56423298c81f7208ae.tar.xz
Split module/server into stuff.
-rw-r--r--module/calp/server/routes.scm (renamed from module/server/routes.scm)3
-rw-r--r--module/calp/server/server.scm (renamed from module/server/server.scm)0
-rw-r--r--module/server/test.scm76
-rw-r--r--module/web/http/macro.scm (renamed from module/server/macro.scm)2
-rw-r--r--module/web/query.scm (renamed from module/server/util.scm)3
-rw-r--r--tests/server.scm2
6 files changed, 4 insertions, 82 deletions
diff --git a/module/server/routes.scm b/module/calp/server/routes.scm
index 475e4c43..afca2d7d 100644
--- a/module/server/routes.scm
+++ b/module/calp/server/routes.scm
@@ -19,8 +19,7 @@
:use-module ((html util) :select (html-unattr))
- :use-module (server util)
- :use-module (server macro)
+ :use-module (web http make-routes)
:use-module (vcomponent)
:use-module (vcomponent search)
diff --git a/module/server/server.scm b/module/calp/server/server.scm
index 9c857b6d..9c857b6d 100644
--- a/module/server/server.scm
+++ b/module/calp/server/server.scm
diff --git a/module/server/test.scm b/module/server/test.scm
deleted file mode 100644
index d33be67f..00000000
--- a/module/server/test.scm
+++ /dev/null
@@ -1,76 +0,0 @@
-(add-to-load-path "..")
-
-(use-modules (util)
- (web server)
-
- (web response)
- (web request)
- (web uri)
- (ice-9 control)
- (ice-9 regex)
- (server util)
- (server macro)
-
- (ice-9 iconv)
- (srfi srfi-88)
-
- (sxml simple)
- (ice-9 ftw)
- (ice-9 rdelim)
- )
-
-(define (form-page name)
- `(div
- (p "Hello " ,name)
- (form (@ (action "/form")
- (method POST))
- (input (@ (type text)
- (name name)))
- (input (@ (type submit))))))
-
-(define (sxml->xml-string sxml)
- (with-output-to-string
- (lambda () (sxml->xml sxml))))
-
-(define routes
- (make-routes
-
- (GET "/" (name)
- (return
- '((content-type text/plain))
- (format #f "No root page, ~a~%" name)))
-
- (GET "/form" ()
- (return
- '((content-type text/html))
- (sxml->xml-string (form-page state))))
-
- (POST "/form" (name)
- (return (build-response
- #:code 303
- #:headers `((location . ,(string->uri-reference "/form"))))
- "" name))
-
-
- (GET "/ls" ()
- (return
- '((content-type text/html))
- (sxml->xml-string
- `(table
- (thead
- (th (td "Name") (td "Type") (td "Perm")))
- (tbody
- ,@(map (lambda (kv)
- (let* (((k stat) kv))
- `(tr (td ,k)
- (td ,(stat:type stat))
- (td ,(number->string (stat:perms stat) 8)))))
- (cddr (file-system-tree "." (lambda (p _) (string=? p "."))))))))))
-
-
- (GET "/ls/:file" (file)
- (return '((content-type text/plain))
- (call-with-input-file file read-string)))))
-
-(run-server routes 'http '() "Default Name")
-
diff --git a/module/server/macro.scm b/module/web/http/macro.scm
index 41d23d34..a0113f46 100644
--- a/module/server/macro.scm
+++ b/module/web/http/macro.scm
@@ -1,4 +1,4 @@
-(define-module (server macro)
+(define-module (web http make-routes)
:export (make-routes)
:use-module (util)
:use-module (ice-9 regex)
diff --git a/module/server/util.scm b/module/web/query.scm
index 58a11ec3..cb96824d 100644
--- a/module/server/util.scm
+++ b/module/web/query.scm
@@ -1,9 +1,8 @@
-(define-module (server util)
+(define-module (web query)
:use-module (util)
:use-module (srfi srfi-1)
:use-module (web uri))
-
(define*-public (parse-query query-string optional: (encoding "UTF-8"))
(unless (or (not query-string) (string-null? query-string))
(fold (lambda (str list)
diff --git a/tests/server.scm b/tests/server.scm
index 6388edb9..a9cb870e 100644
--- a/tests/server.scm
+++ b/tests/server.scm
@@ -1,4 +1,4 @@
-(((server macro) parse-endpoint-string))
+(((web http make-routes) parse-endpoint-string))
(test-assert (parse-endpoint-string "/static/:dir/:file"))
;; => "/static/([^/]+)/([^/]+)"