2013-01-13 6 views
11

bedienen Ich möchte eine PDF-Datei (oder eine andere Binärdatei) in einer Clojure-Ring-Antwort bereitstellen. Dies funktioniertBinär-Inhalt mit Clojure-Ring

(defn serve-file [request] 
    {:status 200 
    :headers {"Content-Type" "application/pdf"} 
    :body (FileInputStream. "file.pdf")}) 

Aber ich schließe nicht explizit den FileInputStream. Führt dies zu einem Speicherleck oder wird es vom zugrunde liegenden Webserver (Jetty) geschlossen? Wenn nicht, wie schließe ich es selbst?

+1

Ein alternativer Ansatz ist einfach verwenden, um 'ring.middleware.file' und' file-info'. Siehe http://mmcgrana.github.com/ring/ –

Antwort