      * string or seq - updates body
   Additionally, multiple updates can be chained through a vector.
 
-  e.g (update-response response \"Foo\")       ; write 'Foo' to response body
-      (update-response response [200 \"Bar\"]) ; set status 200, write 'Bar'"
-  [context #^HttpServletResponse response update]
+  e.g (update-response resp ctx \"Foo\")       ; write 'Foo' to response body
+      (update-response resp ctx [200 \"Bar\"]) ; set status 200, write 'Bar'"
+  [#^HttpServletResponse response context update]
   (cond 
     (vector? update)
       (doseq d update
-        (update-response response d))
+        (update-response response context d))
     (string? update)
       (.. response (getWriter) (print update))
     (seq? update)

  [& resource]
  `(fn ~'[route context request response]
     (let ~(apply vector *resource-bindings*)
       (update-response ~'context ~'response (do ~@resource)))))

(defn add-resource
  "Add a resource to the global *resources*."

          *resources*)))

(def *default-resource*
  (pseudo-servlet
    (let [static-file (file (str "public" sep full-path))]
      (if (. static-file (isFile))
        static-file
        [404 "Cannot find file"]))))

(defn find-resource
  "Find the first resource that matches the HttpServletRequest"
