summaryrefslogtreecommitdiff
path: root/endpoints.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'endpoints.lisp')
-rw-r--r--endpoints.lisp13
1 files changed, 8 insertions, 5 deletions
diff --git a/endpoints.lisp b/endpoints.lisp
index e947562..ff6f97c 100644
--- a/endpoints.lisp
+++ b/endpoints.lisp
@@ -38,18 +38,21 @@ I.e. It should be called within the scope of a request handler."
(defendpoint* :get "/" () ()
(redirect-to "/tavern-door"))
-(defendpoint* :get "/tavern-door" ((name str)) ()
- (if name (doorkeeper :message (format nil "M'fraid I've n'er 'eard o' ~a." name))
- (doorkeeper)))
+(defendpoint* :get "/tavern-door" () ()
+ (a:if-let (name (flashed-value))
+ (doorkeeper :message (format nil "M'fraid I've n'er 'eard o' ~a." name))
+ (doorkeeper)))
(defendpoint* :post "/tavern-door" () ()
(with-plist ((name :name)) (lzb:request-body)
(a:if-let ((hero (hero-known-as name)))
(a:when-let ((sesh (new-sesh hero)))
(lzb:set-response-cookie +session-cookie-name+ (session-id sesh)
- :path "/" :domain "localhost")
+ :path "/" :domain "localhost") ; TODO: generalize domain
(redirect-to "/tavern"))
- (redirect-to (format nil "/tavern-door?name=~a" (quri:url-encode name))))))
+ (progn
+ (flash name)
+ (redirect-to (format nil "/tavern-door"))))))
(defendpoint* :get "/godess-shrine" () ()
(godess-shrine))