 
 (defn- if-context [route handler]
   (fn [request]
-    (if-let [params (route-matches route request)]
+    (if-let [params (clout/route-matches route request)]
       (let [uri     (:uri request)
             path    (:path-info request uri)
             context (or (:context request) "")

  [route]
  (cond
    (string? route)
      `(route-compile ~route)
    (vector? route)
      `(route-compile
        ~(first route)
        ~(apply hash-map (rest route)))
    :else
      `(if (string? ~route)
         (route-compile ~route)
         ~route)))

(defn- assoc-&-binding [binds req sym]

  "Define a Ring handler function from a sequence of routes. The name may
  optionally be followed by a doc-string and metadata map."
  [name & routes]
  (let [[name routes] (macro/name-with-attributes name routes)]
   `(def ~name (routes ~@routes))))

(defmacro GET "Generate a GET route."
