diff options
author | Mathieu Lirzin <mthl@gnu.org> | 2016-10-28 19:38:11 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@gnu.org> | 2016-11-03 00:20:27 +0100 |
commit | 5973db52c683a899ac8f1b517d6af14864f3a59b (patch) | |
tree | d5748a8b9c2c3e31bac04225379750cb2ac4a274 /src/cuirass | |
parent | 3b72a158beee22cec7651c8c2105648f44475bd8 (diff) | |
download | cuirass-5973db52c683a899ac8f1b517d6af14864f3a59b.tar cuirass-5973db52c683a899ac8f1b517d6af14864f3a59b.tar.gz |
http: Add DB argument to 'url-handler'.
* src/cuirass/http.scm (not-found): Delete.
(url-handler): Add DB argument.
(run-cuirass-server): Likewise. Pass it to 'run-server' STATE argument.
Diffstat (limited to 'src/cuirass')
-rw-r--r-- | src/cuirass/http.scm | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/cuirass/http.scm b/src/cuirass/http.scm index 459dba9..cf7783f 100644 --- a/src/cuirass/http.scm +++ b/src/cuirass/http.scm @@ -58,18 +58,20 @@ (define (request-path-components request) (split-and-decode-uri-path (uri-path (request-uri request)))) -(define (not-found request) - (values (build-response #:code 404) - (string-append "Resource not found: " - (uri->string (request-uri request))))) - -(define (url-handler request body) +(define (url-handler request body db) + (define* (respond response #:key body (db db)) + (values response body db)) (match (request-path-components request) (((or "jobsets" "specifications") . rest) - (values '((content-type . (application/json))) - (with-database db - (spec->json-string (car (db-get-specifications db)))))) - (_ (not-found request)))) + (respond '((content-type . (application/json))) + #:body (spec->json-string (car (db-get-specifications db))))) + (_ + (respond (build-response #:code 404) + #:body (string-append "Resource not found: " + (uri->string (request-uri request))))))) -(define (run-cuirass-server) - (run-server url-handler)) +(define (run-cuirass-server db) + (run-server url-handler + 'http ;server implementation + '() ;implementation parameters + db)) ;state |