summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-04-05 23:02:23 +0200
committerRicardo Wurmus <rekado@elephly.net>2020-04-05 23:06:26 +0200
commitf261207148a0934a3d2e70c7e4bdcd1f523275d4 (patch)
treeb9e69eb3606868f59ec34c57e4ea0ab839cd5cfd
parentc914be9517a6568bd29c5d155d8cfcf7a29373ae (diff)
controller: Return session manager even when key had to be generated.
-rw-r--r--mumi/web/controller.scm13
1 files changed, 8 insertions, 5 deletions
diff --git a/mumi/web/controller.scm b/mumi/web/controller.scm
index 483062e..376873c 100644
--- a/mumi/web/controller.scm
+++ b/mumi/web/controller.scm
@@ -40,11 +40,14 @@
(list functions ...)))
(define %session-manager
- (let ((key-file (string-append (%config 'key-dir) "signing-key")))
- (if (file-exists? key-file)
- (make-session-manager (with-input-from-file key-file read))
- (with-output-to-file key-file
- (lambda () (write (base64-encode (generate-signing-key))))))))
+ (let ((key-file (string-append (%config 'key-dir) "/signing-key")))
+ (unless (file-exists? key-file)
+ (with-output-to-file key-file
+ (lambda () (write (base64-encode (generate-signing-key))))))
+ (make-session-manager
+ (with-input-from-file key-file read)
+ ;; expire session after 30 mins
+ #:expire-delta '(0 0 30))))
(define (controller request body)
(match-lambda