使用Clojure环服务二进制内容

时间:2013-01-13 10:30:57

标签: http clojure webserver

我希望在Clojure Ring响应中提供PDF(或任何其他二进制文件)。这工作

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

但我没有明确关闭FileInputStream。这会导致内存泄漏,还是由底层Web服务器(Jetty)关闭。如果没有,我该如何自己关闭它?

1 个答案:

答案 0 :(得分:6)

是的,ring确实关闭了在正文密钥中传递的InputStream对象。

退房:https://github.com/mmcgrana/ring/blob/master/ring-servlet/src/ring/util/servlet.clj#L111