Add query-parameters->string
This commit is contained in:
parent
3d004f8597
commit
94e321ec38
1 changed files with 26 additions and 0 deletions
|
|
@ -36,6 +36,7 @@
|
||||||
any-invalid-query-parameters?
|
any-invalid-query-parameters?
|
||||||
|
|
||||||
parse-query-parameters
|
parse-query-parameters
|
||||||
|
query-parameters->string
|
||||||
|
|
||||||
parse-datetime
|
parse-datetime
|
||||||
parse-result-limit))
|
parse-result-limit))
|
||||||
|
|
@ -110,6 +111,31 @@
|
||||||
(processor value))))))
|
(processor value))))))
|
||||||
accepted-query-parameters))
|
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)
|
(define (parse-datetime s)
|
||||||
(catch
|
(catch
|
||||||
'misc-error
|
'misc-error
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue