diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-08-17 18:46:21 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-08-17 18:46:21 +0200 |
commit | 6461d1b45c7431b36393fd56423298c81f7208ae (patch) | |
tree | d712742e3a72c57c4410131ae4ff10af429e7812 /module/server | |
parent | Fixes. (diff) | |
download | calp-6461d1b45c7431b36393fd56423298c81f7208ae.tar.gz calp-6461d1b45c7431b36393fd56423298c81f7208ae.tar.xz |
Split module/server into stuff.
Diffstat (limited to '')
-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.scm | 76 | ||||
-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 |
5 files changed, 3 insertions, 81 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) |