From ec2d143ffd4bc1f81f1cd2caa06cffb3e52105a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 24 Oct 2023 18:53:11 +0200 Subject: Merge (web uri-query) into (web query). --- module/web/query.scm | 15 ++++++++++++++- module/web/uri-query.scm | 19 ------------------- 2 files changed, 14 insertions(+), 20 deletions(-) delete mode 100644 module/web/uri-query.scm (limited to 'module/web') 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) - "&")) - -- cgit v1.2.3