Add query-parameters->string

This commit is contained in:
Christopher Baines 2019-05-11 20:36:18 +01:00
parent 3d004f8597
commit 94e321ec38
1 changed files with 26 additions and 0 deletions

View File

@ -36,6 +36,7 @@
any-invalid-query-parameters?
parse-query-parameters
query-parameters->string
parse-datetime
parse-result-limit))
@ -110,6 +111,31 @@
(processor value))))))
accepted-query-parameters))
(define (query-parameters->string query-parameters)
(define (value->text value)
(match value
(#f "")
((? date? date)
(date->string date "~1 ~3"))
(other other)))
(string-join
(concatenate
(map
(match-lambda
((key . ($ <invalid-query-parameter>))
'())
((key . value)
(list (simple-format #f "~A=~A"
key (value->text value))))
((key values ...)
(map (lambda (value)
(simple-format #f "~A=~A"
key (value->text value)))
values)))
query-parameters))
"&"))
(define (parse-datetime s)
(catch
'misc-error