diff options
Diffstat (limited to 'endpoints.lisp')
-rw-r--r-- | endpoints.lisp | 13 |
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)) |