diff options
author | Arun Isaac <arunisaac@systemreboot.net> | 2022-01-03 01:13:26 +0530 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2022-01-07 16:42:26 +0100 |
commit | fc71b18a5a29508bcfc05923fdf2af80030f2653 (patch) | |
tree | c734e6bd8d5f89f9e07695d80b5887a9a43c2f1b | |
parent | 8573667f538e2e65c9dd59b7f8fc5c02d3da32a5 (diff) |
web: Wrap handler before passing to run-server.
This enables live hacking via the REPL.
* mumi/web/server.scm: Import (srfi srfi-26).
(start-mumi-web-server): Wrap handler before passing it to run-server.
-rw-r--r-- | mumi/web/server.scm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mumi/web/server.scm b/mumi/web/server.scm index db7662a..6de6fa4 100644 --- a/mumi/web/server.scm +++ b/mumi/web/server.scm @@ -18,6 +18,7 @@ (define-module (mumi web server) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (web http) #:use-module (web request) #:use-module (web uri) @@ -39,6 +40,11 @@ (format (current-error-port) "Mumi web server listening on http://~a:~a/~%" address port) - (run-server handler + ;; Wrap handler in another function to support live hacking via the + ;; REPL. If handler is passed as is and is then redefined via the + ;; REPL, the web server will still be using the old handler. The + ;; only way to update the handler reference held by the web server + ;; would be to restart the web server. + (run-server (cut handler <> <>) #:addr (inet-pton AF_INET address) #:port port)) |