在Clojure中将BufferedInputStream转换为字符串

10

mock.request返回的响应体是一个BufferedInputStream。我需要将其作为字符串打印并进行比较。如何转换?

当我试图将响应作为消息传递给我的断言时,我看到的是原始输出,例如:

(is (= 200 (:status response) (:body response)))
=> #object[java.io.BufferedInputStream 0x211bdf40 java.io.BufferedInputStream@211bdf40]

相关的问题是与Java相关的。

2个回答

17

只需slurp它即可:

(slurp (:body response))

1
谢谢。我还必须确保我的API调用返回(resp/response "some body"),否则响应将不是流。即仅返回“ok”只是一个字符串,而slurp会尝试将其作为文件打开。 - Petrus Theron

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接