12

Clojure Ringの応答でPDF(またはその他のバイナリファイル)を提供したいと思います。これは動作します

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

しかし、私はFileInputStreamを明示的に閉じていません。これによりメモリリークが発生しますか、それとも基盤となるWebサーバー(Jetty)によって閉じられますか?そうでない場合は、どうすれば自分で閉じることができますか?

4

1 に答える 1

6

はい、ringはbodyキーで渡されたInputStreamオブジェクトを閉じます。

チェックアウト:https ://github.com/mmcgrana/ring/blob/master/ring-servlet/src/ring/util/servlet.clj#L111

于 2013-01-13T15:58:38.407 に答える