     (with-fn-validation (it)))
   (it "request"
     (should= (->json (req "/req" :get))
-             (responder (req "/req" :get))))
+             (handler (req "/req" :get))))
   (it "url"
     (should= (ok "/url")
-             (responder (req "/url" :get))))
+             (handler (req "/url" :get))))
   (it "params"
     (should= (->json {:type "json"})
-             (responder
+             (handler
                (-> (req "/params" :get)
                    (assoc :params {:type "json"})))))
   (it "lookup-param"
     (should= (ok "json")
-             (responder
+             (handler
                (-> (req "/lookup-param" :get)
                    (assoc :params {:type "json"})))))
   (it "headers"
     (should= (->json {"Accept-Language" "en-US"})
-             (responder
+             (handler
                (-> (req "/headers" :get)
                    (assoc :headers {"Accept-Language" "en-US"})))))
   (it "lookup-header"
     (should= (ok "en-US")
-             (responder
+             (handler
                (-> (req "/lookup-header" :get)
                    (assoc :headers {"Accept-Language" "en-US"})))))
   (it "body"
     (should= (ok "name=Billy")
-             (responder
+             (handler
                (-> (req "/body" :get)
                    (assoc :body "name=Billy"))))))
 

  {"how-to-post-comment" "How to post a comment"
   "how-to-remove-comment" "How to remove a comment"})

(def posts [{:id 1 :content "Post #1"}
            {:id 2 :content "Post #2"}])

(defn lookup-post [id]
  (some #(when (= (:id %) id) %) posts))

(defroute responder
  (scheme :https
    (domain "api.example.org"
      (index (forbidden))

  (path "faq"
    (pred faqs [faq]
      (str "FAQ: " faq)))
  (pred old-or-new [choice]
    (str "You chose: " choice))
  (path "about"
    (method :ANY "This is my blog."))
  (path "black-hole"
