(wrap-content-type handler)
(wrap-content-type handler options)
Middleware that adds a content-type header to the response if one is not
set by the handler. Uses the ring.util.mime-type/ext-mime-type function to
guess the content-type from the file extension in the URI. If no
content-type can be found, it defaults to 'application/octet-stream'.
Accepts the following options:
:mime-types - a map of filename extensions to mime-types that will be
used in addition to the ones defined in
ring.util.mime-types/default-mime-types
Source
(defn wrap-content-type
"Middleware that adds a content-type header to the response if one is not
set by the handler. Uses the ring.util.mime-type/ext-mime-type function to
guess the content-type from the file extension in the URI. If no
content-type can be found, it defaults to 'application/octet-stream'.
Accepts the following options:
:mime-types - a map of filename extensions to mime-types that will be
used in addition to the ones defined in
ring.util.mime-types/default-mime-types"
([handler]
(wrap-content-type handler {}))
([handler options]
(fn
([request]
(-> (handler request) (content-type-response request options)))
([request respond raise]
(handler request
(fn [response] (respond (content-type-response response request options)))
raise)))))