git.fiddlerwoaroof.com
intercooler.lisp
720f9410
 (cl:in-package :cl-user)
 (defpackage :fwoar.intercooler
   (:use :cl )
   (:import-from :fw.lu defclass+)
   (:import-from :araneus controller)
   (:export #:partial-request
            #:full-request
            #:intercooler-route
            #:intercooler-request
            #:request))
 (in-package :fwoar.intercooler)
 
 (defclass+ intercooler-request ()
   ((%request :initarg :request :reader request)))
 (defclass+ partial-request ((intercooler-request (request)))
   ())
 (defclass+ full-request ((intercooler-request (request)))
   ())
 (defclass intercooler-route ()
   ())
 (defmethod controller :around ((route intercooler-route) params &key)
   (funcall (if (equal (serapeum:assocdr "ic-request" params
                                         :test 'equal)
                       "true")
                'partial-request
                'full-request)
            (call-next-method)))