Add #:no-default-when option to parse-query-parameters
Where there are multiple interrelated fields, then it's useful to only apply the default if another field hasn't been specified.
This commit is contained in:
parent
9f94e3278e
commit
0a7e6a76f3
1 changed files with 15 additions and 0 deletions
|
|
@ -150,6 +150,21 @@
|
||||||
(() (cons name default))
|
(() (cons name default))
|
||||||
(x (cons name x))))
|
(x (cons name x))))
|
||||||
|
|
||||||
|
((name processor #:no-default-when fields #:default default)
|
||||||
|
(let ((use-default?
|
||||||
|
(every (lambda (field)
|
||||||
|
(not (memq field fields)))
|
||||||
|
fields)))
|
||||||
|
(match (assq name request-query-parameters)
|
||||||
|
(#f (if use-default?
|
||||||
|
(cons name default)
|
||||||
|
#f))
|
||||||
|
((_ . "") (if use-default?
|
||||||
|
(cons name default)
|
||||||
|
#f))
|
||||||
|
((_ . value) (cons name
|
||||||
|
(processor value))))))
|
||||||
|
|
||||||
((name processor #:default default)
|
((name processor #:default default)
|
||||||
(match (assq name request-query-parameters)
|
(match (assq name request-query-parameters)
|
||||||
(#f (cons name default))
|
(#f (cons name default))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue