aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-02-09 12:00:57 +0000
committerChristopher Baines <mail@cbaines.net>2023-02-09 12:00:57 +0000
commitf62a2b3b48ecebf01b0cbd8ddd11e1a45cb27804 (patch)
treec35760801b77ce5dac6c480ed5c498fbb33d9813
parente730d53742ca4d1b35af8db7ac52f50e90d617b3 (diff)
downloadnar-herder-f62a2b3b48ecebf01b0cbd8ddd11e1a45cb27804.tar
nar-herder-f62a2b3b48ecebf01b0cbd8ddd11e1a45cb27804.tar.gz
Don't use chunked responses when responding with JSON
The Guile Fibers web server now supports chunked responses when a procedure is used, but don't use that here as it's unnecessary.
-rw-r--r--nar-herder/server.scm10
1 files changed, 7 insertions, 3 deletions
diff --git a/nar-herder/server.scm b/nar-herder/server.scm
index b3c50b6..50bc70f 100644
--- a/nar-herder/server.scm
+++ b/nar-herder/server.scm
@@ -21,6 +21,7 @@
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-71)
+ #:use-module (ice-9 iconv)
#:use-module (ice-9 match)
#:use-module (ice-9 threads)
#:use-module (ice-9 binary-ports)
@@ -56,10 +57,13 @@
(values (build-response
#:code code
#:headers (append extra-headers
- '((content-type . (application/json))
+ '((content-type . (application/json
+ (charset . "utf-8")))
(vary . (accept)))))
- (lambda (port)
- (scm->json json port))))
+ (call-with-encoded-output-string
+ "utf-8"
+ (lambda (port)
+ (scm->json json port)))))
(define (parse-query-string query)
(let lp ((lst (map uri-decode (string-split query (char-set #\& #\=)))))