排程 Clack 請求

因為 clack 請求表示為 plist,我們可以使用模式匹配作為 clack app 的入口點,作為將請求路由到其相應控制器的方法

(defvar *app*
  (lambda (env)
    (match env
      ((plist :request-method :get
              :request-uri uri)
       (match uri
         ("/" (top-level))
         ((ppcre "/tag/(\\w+)/$" name) (tag-page name)))))))

注意:要啟動*app*,我們將其傳遞給 clackup。ej (clack:clackup *app*)