(in-package :araneus-2) (defgeneric mapper (acceptor) (:documentation "")) (defclass acceptor (hunchentoot:acceptor) ((%mapper :initform (myway:make-mapper) :reader mapper))) (defvar *current-route*) (defgeneric resolve-request (acceptor request) (:method-combination or :most-specific-first) (:method or ((acceptor acceptor) request) (let ((router (mapper acceptor))) (myway:dispatch router (hunchentoot:script-name*) :method (hunchentoot:request-method*))))) (defmethod hunchentoot:acceptor-dispatch-request ((acceptor acceptor) request) (multiple-value-bind (result matched) (resolve-request acceptor request) (if matched result (call-next-method))))