   (json-handler (fn [req]
                   {:user-agent (get-in req [:headers "user-agent"])})))
 
-;; FIXME differnt headers: macchiato session,cache control, empty length and type
 (defn clean-headers
   "Return a sorted map of headers with the proper casing."
   [req]

       "/html" {:get html}
       "/robots.txt" {:get robots}
       "/deny" {:get deny}
       ["/status/" :status] {:get status}
       ["/delay/" :n] {:get delay_}
       "/response-headers" {:get response-headers}

  (-> (r/file "./public/deny.txt")
      (r/content-type "text/plain")
      (res)))

(defn cache
  "Returns 200 unless an If-Modified-Since or If-None-Match header is provided, when it returns a 304."
  [req res raise]
  (if (or (get-in req [:headers "if-modified-since"])
          (get-in req [:headers "if-none-match"]))
    (res (r/not-modified))
    (get_ req res raise)))

(defn status
  "Returns given HTTP Status code."
