     (reset! paths-set new-paths-set))
   files)
 
+(defn output-path [a-file]
+  "Look up the output path for the given input file in recorded parses."
+  (:path (@parses (.getCanonicalPath a-file))))
+
+(defn requested-file?
+  "A predicate which returns whether the given request is attempting to access
+  the given file."
+  [request a-file]
+  (and (re-find #"html" ((request :headers) "accept"))
+       (= (str \/ (output-path a-file))
+          (normalize-uri (:uri request)))))
+
 (defn wrap-incise-parse
   "Call parse on each modified file in the given dir with each request."
   [handler]

  (:require [clojure.java.io :refer [file]]
            [clojure.set :refer [difference]]
            [ns-tracker.core :refer [ns-tracker]]
            (incise [utils :refer [delete-recursively directory?]]
                    [load :refer [load-parsers-and-layouts]]
                    [config :as conf])
            [incise.parsers.core :refer [input-file-seq parse-all
                                         dissoc-parses]])
  (:import [java.io File]))


                *err* orig-err]
        (->> (input-file-seq)
             (reference-files)
             (filter (some-fn modified? (partial requested-file? request)))
             (parse-all)
             (dorun)))
      (handler request))))
