Chcę podać plik PDF (lub dowolny inny plik binarny) w odpowiedzi Clojure Ring. Działa toPodawać zawartość binarną przy użyciu Clojure Ring
(defn serve-file [request]
{:status 200
:headers {"Content-Type" "application/pdf"}
:body (FileInputStream. "file.pdf")})
Ale nie jestem jawnie zamknięcia FileInputStream. Czy spowoduje to wyciek pamięci lub zostanie zamknięty przez podstawowy serwer WWW (Jetty). Jeśli nie, w jaki sposób mogę je zamknąć?
Alternatywnym podejściem jest po prostu użyć 'ring.middleware.file' i' file-info'. Zobacz http://mmcgrana.github.com/ring/ –