summaryrefslogtreecommitdiff
path: root/routes.lisp
diff options
context:
space:
mode:
authorcolin <colin@cicadas.surf>2023-01-21 09:53:27 -0800
committercolin <colin@cicadas.surf>2023-01-21 09:53:27 -0800
commitde8646afec9647095c37fabe93500fd8bbebb8aa (patch)
tree35a0d560683150c7a4d9ea2355d8ea8c1615ffd3 /routes.lisp
parent6b1c9d7ae508c41848828939454945bf2addb994 (diff)
Rename: routs.lisp->endpoints.lisp
Diffstat (limited to 'routes.lisp')
-rw-r--r--routes.lisp53
1 files changed, 0 insertions, 53 deletions
diff --git a/routes.lisp b/routes.lisp
deleted file mode 100644
index f737c80..0000000
--- a/routes.lisp
+++ /dev/null
@@ -1,53 +0,0 @@
-;;;; routes.lisp -- http routes for dnd
-
-(in-package :dnd)
-
-(lzb:provision-app ()
- :title "Dungeons & Deadlines"
- :version "0.1.0"
- :content-type "text/html")
-
-(defparameter +session-cookie-name+ "dnd-session")
-
-(defun redirect-to (location)
- (setf (lzb:response-header :location) location
- (lzb:response-code) "303"))
-
-(defun current-session ()
- "Get the session associated with the current request. Will throw an
-error if lazybones:*request* is not currently bound. It will return
-NIL if there is no session for the current request.
-
-I.e. It should be called within the scope of a request handler."
- (session-with-id (lzb:request-cookie +session-cookie-name+ )))
-
-(defmacro with-hero-session ((hero &key session (redirect "/tavern-door")) &body body)
- (let ((session (or session (gensym "SESSION"))))
- `(a:if-let (,session (current-session))
- (let ((,hero (session-hero ,session)))
- ,@body)
- (redirect-to ,redirect))))
-
-(defendpoint* :get "/godess-shrine" () ()
- (godess-shrine))
-
-(defendpoint* :post "/godess-shrine" () ()
- (with-plist ((name :name)) (lzb:request-body)
- (birth-from-the-goddess-loins name)
- (redirect-to "/tavern-door")))
-
-(defendpoint* :get "/tavern-door" () ()
- (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")
- (redirect-to "/tavern"))
- (redirect-to "/tavern-door"))))
-
-(defendpoint* :get "/tavern" () ()
- (with-hero-session (hero)
- (tavern hero)))