diff options
author | Christopher Baines <mail@cbaines.net> | 2025-06-27 18:55:05 +0200 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2025-06-28 09:58:13 +0200 |
commit | 0704b12f968a2e93b76101d3078004fa0473c939 (patch) | |
tree | 94f6781ce4b4771acb422f433ef0c031f8940660 | |
parent | 28a48ab5c4bbc2ce20330d7280bbd22d7ec67657 (diff) | |
download | bffe-0704b12f968a2e93b76101d3078004fa0473c939.tar bffe-0704b12f968a2e93b76101d3078004fa0473c939.tar.gz |
Extract out request->query-parameters
-rw-r--r-- | bffe/server.scm | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/bffe/server.scm b/bffe/server.scm index 9662d40..79aa55a 100644 --- a/bffe/server.scm +++ b/bffe/server.scm @@ -394,6 +394,21 @@ (derivation-link-target (const #f)) (tag-link-target (const #f))) + (define (request->query-parameters request) + (let lp ((lst + (or (and=> (uri-query (request-uri request)) + (lambda (query) + (map uri-decode + (string-split + query + (char-set #\& #\=))))) + '()))) + (match lst + ((key value . rest) + (cons (cons key value) (lp rest))) + (("") '()) + (() '())))) + (define handle-static-assets (if (string-prefix? (%store-prefix) assets-directory) @@ -431,19 +446,7 @@ (('GET "events") (let ((headers (request-headers request)) (query-parameters - (let lp ((lst - (or (and=> (uri-query (request-uri request)) - (lambda (query) - (map uri-decode - (string-split - query - (char-set #\& #\=))))) - '()))) - (match lst - ((key value . rest) - (cons (cons key value) (lp rest))) - (("") '()) - (() '()))))) + (request->query-parameters request))) (list (build-response #:code 200 |