aboutsummaryrefslogtreecommitdiff
path: root/module/server/util.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/server/util.scm')
-rw-r--r--module/server/util.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/module/server/util.scm b/module/server/util.scm
index ada4f266..58a11ec3 100644
--- a/module/server/util.scm
+++ b/module/server/util.scm
@@ -4,14 +4,14 @@
:use-module (web uri))
-(define-public (parse-query query-string)
+(define*-public (parse-query query-string optional: (encoding "UTF-8"))
(unless (or (not query-string) (string-null? query-string))
(fold (lambda (str list)
;; only split on the first equal.
;; Does HTTP allow multiple equal signs in a data field?
;; NOTE that this fails if str lacks an equal sign.
(define idx (string-index str #\=))
- (define key (uri-decode (substring str 0 idx)))
- (define val (uri-decode (substring str (1+ idx))))
+ (define key (uri-decode (substring str 0 idx) encoding: encoding))
+ (define val (uri-decode (substring str (1+ idx)) encoding: encoding))
(cons* (-> key string->symbol symbol->keyword) val list))
'() (string-split query-string #\&))))