diff options
-rw-r--r-- | src/defendpoint.lisp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/defendpoint.lisp b/src/defendpoint.lisp index ef5131b..df10967 100644 --- a/src/defendpoint.lisp +++ b/src/defendpoint.lisp @@ -13,14 +13,18 @@ PART is either (and (listp part) (or (and (= 2 (length part)) (do> - (key str) :match= part + (key regex) :match= part :when (keywordp key) - :when (stringp str))) + :when (or (stringp regex) + (and (symbolp regex) + (stringp (symbol-value regex)))))) (and (= 3 (length part)) (do> - (key str parser) :match= part + (key regex parser) :match= part :when (keywordp key) - :when (string str) + :when (or (stringp regex) + (and (symbolp regex) + (stringp (symbol-value regex)))) :when (symbolp parser) (fboundp parser))))))) |