From f4516bd373812b81261c3018c39de7b6fe141d6b Mon Sep 17 00:00:00 2001 From: Colin Okay Date: Sun, 6 Feb 2022 08:31:50 -0600 Subject: binding of dynamic variables pushed to run-endpoint --- lazybones.lisp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'lazybones.lisp') diff --git a/lazybones.lisp b/lazybones.lisp index 593328e..db1ca2a 100644 --- a/lazybones.lisp +++ b/lazybones.lisp @@ -14,6 +14,10 @@ bound and available to each handler. The exact object bound *response* varies according to the current backend. ") +(defvar *app* nil + "Dynamic variable holding the an APP instance. Dynamically bound by + RUN-ENDPOINT so that it is available if needed in request handlers.") + ;;; LAZYBONES CLASSES (defclass app () @@ -162,6 +166,8 @@ Returns NIL on failure." (list (gensym var-name)))))) -(defun run-endpoint (endpoint args &optional (request *request*)) - (let ((*request* request)) +(defun run-endpoint (endpoint args request response app) + (let ((*request* request) + (*response* response) + (*app* app)) (apply (endpoint-request-handler endpoint) args))) -- cgit v1.2.3