        :public-folder public-folder
        :virtual-folder virtual-folder
        :file-path (str root "/file/")
-       :file-extensions (merge default-file-extension-to-mime-type file-extensions)})
+       :file-extensions (merge mime-type/default-mime-types file-extensions)})
     (printf "Initialized asset access at virtual folder %s\n" root)
     (wrap-exception-handling
       (routes

This should only be changed at startup, by (initialize-assets)."
  (atom nil))

(def default-file-extension-to-mime-type
  "Default set of mappings from file extensions (as keywords) to corresponding MIME type."
  {
    :js "text/javascript"
    :css "text/css"
    })

; Should Asset extend Renderable?
(defprotocol Asset
  "Represent a server-side resource so that it can be exposed efficiently to the client."

(defn get-content-type [asset]
  (let [name (file-name asset)
        dotx (.lastIndexOf name ".")
        extension (.substring name (inc dotx))
        content-type (-> @asset-configuration :file-extensions (get extension))]
    (or content-type "text/plain")))

(defn generic-asset-handler
