aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-10-24 18:53:11 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2023-10-24 18:53:11 +0200
commitec2d143ffd4bc1f81f1cd2caa06cffb3e52105a9 (patch)
tree47b3144c970a638b024b22a3ef7d8b0bb3be93f9
parentSplit webdav documentation into multiple files. (diff)
downloadcalp-ec2d143ffd4bc1f81f1cd2caa06cffb3e52105a9.tar.gz
calp-ec2d143ffd4bc1f81f1cd2caa06cffb3e52105a9.tar.xz
Merge (web uri-query) into (web query).
-rw-r--r--doc/ref/web.texi1
-rw-r--r--doc/ref/web/query.texi5
-rw-r--r--doc/ref/web/uri-query.texi7
-rw-r--r--module/calp/html/vcomponent.scm2
-rw-r--r--module/calp/html/view/search.scm2
-rw-r--r--module/calp/server/routes.scm2
-rw-r--r--module/web/query.scm15
-rw-r--r--module/web/uri-query.scm19
8 files changed, 22 insertions, 31 deletions
diff --git a/doc/ref/web.texi b/doc/ref/web.texi
index 8574e166..cf80e26e 100644
--- a/doc/ref/web.texi
+++ b/doc/ref/web.texi
@@ -2,5 +2,4 @@
@chapter Webservers and -Clients
@include web/query.texi
-@include web/uri-query.texi
@include web/routes.texi
diff --git a/doc/ref/web/query.texi b/doc/ref/web/query.texi
index df3ba953..6458db5a 100644
--- a/doc/ref/web/query.texi
+++ b/doc/ref/web/query.texi
@@ -7,3 +7,8 @@ Given a string like ``?key=value&other=something'', returns
both key and value. A key without a value decodes to that key, with
itself as its value
@end defun
+
+@defun encode-query-parameters parameters
+Given the association list @var{parameter}, encode it into a query
+string on the form ``key=value&...''.
+@end defun
diff --git a/doc/ref/web/uri-query.texi b/doc/ref/web/uri-query.texi
deleted file mode 100644
index d3df3a70..00000000
--- a/doc/ref/web/uri-query.texi
+++ /dev/null
@@ -1,7 +0,0 @@
-@node URI Query
-@section (web uri-query)
-
-@defun encode-query-parameters parameters
-Given the association list @var{parameter}, encode it into a query
-string on the form ``key=value&...''.
-@end defun
diff --git a/module/calp/html/vcomponent.scm b/module/calp/html/vcomponent.scm
index 0516b9d4..f99e91ad 100644
--- a/module/calp/html/vcomponent.scm
+++ b/module/calp/html/vcomponent.scm
@@ -10,7 +10,7 @@
:use-module (vcomponent)
:use-module (datetime)
:use-module ((text util) :select (add-enumeration-punctuation))
- :use-module ((web uri-query) :select (encode-query-parameters))
+ :use-module ((web query) :select (encode-query-parameters))
:use-module ((calp html util) :select (html-id calculate-fg-color))
:use-module ((calp html config) :select (edit-mode debug))
:use-module ((crypto) :select (sha256 checksum->string))
diff --git a/module/calp/html/view/search.scm b/module/calp/html/view/search.scm
index e400c1ba..3eb34e2b 100644
--- a/module/calp/html/view/search.scm
+++ b/module/calp/html/view/search.scm
@@ -3,7 +3,7 @@
:use-module (vcomponent)
:use-module (vcomponent util search)
:use-module ((ice-9 pretty-print) :select (pretty-print))
- :use-module ((web uri-query) :select (encode-query-parameters))
+ :use-module ((web query) :select (encode-query-parameters))
:use-module ((calp html components)
:select (xhtml-doc include-css))
:use-module ((calp html vcomponent)
diff --git a/module/calp/server/routes.scm b/module/calp/server/routes.scm
index fac061e8..1d7a7dfb 100644
--- a/module/calp/server/routes.scm
+++ b/module/calp/server/routes.scm
@@ -11,7 +11,7 @@
:use-module ((web response) :select (build-response))
:use-module ((web uri) :select (build-relative-ref))
- :use-module ((web uri-query) :select (encode-query-parameters))
+ :use-module ((web query) :select (encode-query-parameters))
:use-module ((sxml simple) :select (sxml->xml xml->sxml))
:use-module ((sxml html) :select (sxml->html))
diff --git a/module/web/query.scm b/module/web/query.scm
index 4a1abf66..3645797f 100644
--- a/module/web/query.scm
+++ b/module/web/query.scm
@@ -3,7 +3,8 @@
:use-module (srfi srfi-1)
:use-module (srfi srfi-71)
:use-module (web uri)
- :export (parse-query))
+ :export (parse-query
+ encode-query-parameters))
(define* (parse-query query-string optional: (encoding "UTF-8"))
(unless (or (not query-string) (string-null? query-string))
@@ -19,3 +20,15 @@
(values v v))))))
(cons* (-> key string->symbol symbol->keyword) val list)))
'() (string-split query-string #\&))))
+
+
+;; TODO why this format for values?
+;; TODO why aren't we encoding the keys?
+(define (encode-query-parameters parameters)
+ (string-join
+ (map (lambda (p)
+ (format #f "~a=~a"
+ (car p)
+ (uri-encode (with-output-to-string (lambda () (write (cdr p)))))))
+ parameters)
+ "&"))
diff --git a/module/web/uri-query.scm b/module/web/uri-query.scm
deleted file mode 100644
index e7cc627c..00000000
--- a/module/web/uri-query.scm
+++ /dev/null
@@ -1,19 +0,0 @@
-(define-module (web uri-query)
- :use-module ((web uri) :select (uri-encode))
- :export (encode-query-parameters)
- )
-
-;; TODO why this format for values?
-;; TODO why aren't we encoding the keys?
-;; TODO why isn't this in the same module as `parse-query'?
-;; TODO why isn't this on the same format as `parse-query'?
-
-(define (encode-query-parameters parameters)
- (string-join
- (map (lambda (p)
- (format #f "~a=~a"
- (car p)
- (uri-encode (with-output-to-string (lambda () (write (cdr p)))))))
- parameters)
- "&"))
-